定义一个指针数组 char* a[]={"shanghai","beijing","hangzhou"};请问,这里的a[0],*a[0]分别指的是什么

求,本人对指针数组这一块不甚了解。想知道究竟是怎么回事。谢谢各位大虾了
能否使用&a[0]??如果能,是什么意思捏??

由于定义的是指针数组,a[0]表示指针数组中第一个char型指针,指针所指的地址是
"shanghai"字符串所在内存的首地址。
*a[0]表示a[0]所指向的地址所保存的数据,a[0]是char型指针,所以*a[0]是char型数据,也就是"shanghai"字符串的第一个字符's' ,16进制数值为0x73
&a[0]表示指针数组a的第一个指针所在的地址,也可以说是指针数组a的首地址。

就是内存中保存这几个指针的位置,&a[1]、&a[2]等是连续的,32位系统存放每个指针需要4个Byte的内存空间。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜