您的位置:首页 > 运维架构 > Linux

linux c 一站式学习 指针数组的初始化

2017-10-24 11:08 183 查看
1.const char * p[3]={"a","b","c"}能初始化成功,但const int *p[3]={1,2,3}却不能初始化?

因为:"a","b","c"这些字面值的类型本身就是const char*,而1,2,3这些字面值的类型是int,int是不能赋值给const int *的,除非你强转。

2.const char*p[3]={"a","b","c"};printf("%s",p[i])为什么打印出的是字符的值,p[i]中难道不是存的地址吗 ?

因为:p[i]的类型是const char*,你用“%s"输出时,是输出这个字符串的内容。如果你想输出p[i]中保存的地址,用这条语句:printf("%p",p[i])

重点是,你要理解什么是指针数组,什么是数组指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐