定义一个指针数组 char* a[]={"shanghai","beijing","hangzhou"};请问,这里的a[0],*a[0]分别指的是什么
求,本人对指针数组这一块不甚了解。想知道究竟是怎么回事。谢谢各位大虾了能否使用&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的内存空间。
"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的内存空间。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询