c语言 定义数组前加个星号什么意思?具体说一下。数组指针难道就是这样定义,初始化的?那数组名就是c

c语言 定义数组前加个星号什么意思?具体说一下。数组指针难道就是这样定义,初始化的?那数组名就是ch吗?

char *ch[4]={"red","green","blue"};
这句话的意思是这样,定义一个指针数组ch[4],这个数组里面每个元素都是指针,这些指针是r、g、b这三个字符串的头指针,还有一个是指向“\0”的作为字符串的结束标志。
简单点说,这样的定义是定义一个二维字符数组,数组的第一行就是第一个字符串"red",第二行是"green",第三行书"blue",第四行是"\0"。之后就可以用ch[0][1]表示第一个字符串的第2个字母,这里就是e,ch[1][4]表示第二个字符串的第五个字母,这里就是n。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-07
这是指针数组,不是数组指针。
数组指针:(*p)[10]
指针数组:*p[10]
性质是不同的
相似回答