C语言数组指针
1.哪些能在初始化中被赋值?哪些不能?还有哪些能被赋值。。2.二维数组里的每一个元素是什么?二维数组名是什么?指针数组名是常量指针?指针数组里的每一个元素都是指针变量,所...
1.哪些能在初始化中被赋值?哪些不能?还有哪些能被赋值。。
2.二维数组里的每一个元素是什么?二维数组名是什么?
指针数组名是常量指针?指针数组里的每一个元素都是指针变量,所以可以被赋值?
1)char *ss[6];ss[1]="right?"
char ss[6][20];ss[1]="right?"这两个的不同
2)int k[2][3],*pk[3];
pk=k[0];pk=k[0]
3.数组,字符串数组,指针数组的区别啊。。 展开
2.二维数组里的每一个元素是什么?二维数组名是什么?
指针数组名是常量指针?指针数组里的每一个元素都是指针变量,所以可以被赋值?
1)char *ss[6];ss[1]="right?"
char ss[6][20];ss[1]="right?"这两个的不同
2)int k[2][3],*pk[3];
pk=k[0];pk=k[0]
3.数组,字符串数组,指针数组的区别啊。。 展开
1个回答
展开全部
1数组指针强调是一个指针,这个指针指向的是一个数组,把数组名给这个指针就是对数组指针赋值了。
2二维数组里的每个元素是什么要看你把这个二维数组定义成什么类型,例如:char num[3][3],数组里每个元素是为char类型开辟的那么大的一块内存,可以存char类型数据。二维数组名是整个二维数组的首地址,a=&a[0]=&a[0][0]=a[0]值都是二维数组的首地址的值。
指针数组名是一块开辟好的内存的首地址,是常量,比如a[0],指向数组的第一块内存区域,那块内存区域里是可以赋值的,明白了吧。
char *ss[6];ss[1]="right?"这句先定义一个char类型的指针数组,强调是一个数组,里边的元素是指针,指针是指向char类型数据的,ss[1]是指针数组的第二个元素,是一个指针,指针的指向是“right”字符串的首地址。
char ss[6][20];ss[1]="right?"是定义一个二维字符数组,横6纵20,起迷惑作用的!二维数组里ss[0], ss[1]等代表的是第一行,第二行的首地址,ss[0][3]是第一行第四个元素,ss[1][3]代表第二行第四个元素。
3第三个问题再用我讲你就直接改行吧!!哈哈哈
祝你学习进步!!
2二维数组里的每个元素是什么要看你把这个二维数组定义成什么类型,例如:char num[3][3],数组里每个元素是为char类型开辟的那么大的一块内存,可以存char类型数据。二维数组名是整个二维数组的首地址,a=&a[0]=&a[0][0]=a[0]值都是二维数组的首地址的值。
指针数组名是一块开辟好的内存的首地址,是常量,比如a[0],指向数组的第一块内存区域,那块内存区域里是可以赋值的,明白了吧。
char *ss[6];ss[1]="right?"这句先定义一个char类型的指针数组,强调是一个数组,里边的元素是指针,指针是指向char类型数据的,ss[1]是指针数组的第二个元素,是一个指针,指针的指向是“right”字符串的首地址。
char ss[6][20];ss[1]="right?"是定义一个二维字符数组,横6纵20,起迷惑作用的!二维数组里ss[0], ss[1]等代表的是第一行,第二行的首地址,ss[0][3]是第一行第四个元素,ss[1][3]代表第二行第四个元素。
3第三个问题再用我讲你就直接改行吧!!哈哈哈
祝你学习进步!!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询