C语言指针数组的问题

在书上看到这样一句话char*p[]={"love","china","you","welcome"};是将几个字符串赋值给一个指针数组中的指针变量,请问这样写可以吗,指... 在书上看到这样一句话
char *p[]={"love", "china", "you", "welcome"};
是将几个字符串赋值给一个指针数组中的指针变量,请问这样写可以吗,指针数组里面的元素都是指针变量,内容存放的是地址型数据,能把字符串直接赋值给指针变量吗?
展开
 我来答
强乐谷梁安双
2020-03-24 · TA获得超过3816个赞
知道小有建树答主
回答量:3149
采纳率:28%
帮助的人:173万
展开全部
putin高数里面的array数组是局部变量,内存是临时分配的,函数调用完了,内存就被释放掉,其中保存的数据也会改变,也就是说,指针p虽然依然能指到那个地址,但内容已经不是你输入的那些了。你可以将主函数里定义的all数组通过参数传递但putin函数中,然后输入数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
GTA小鸡
高粉答主

2019-06-18 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
字符串字面值常量就是指向其首地址的常量指针。
对于"foobar"这个字符串,它的值就是指向首字母f的地址的常量指针。
注意是常量指针,也就是const char*类型,字符串字面值常量是不可以修改的。
所以题中的规范写法应该是const char *p[]={"love", "china", "you", "welcome"};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9ec065c9e8e
2019-09-10 · TA获得超过3740个赞
知道大有可为答主
回答量:3144
采纳率:33%
帮助的人:200万
展开全部
第一点,两个按照顺序存储,所以吨输出后输出米,车,长
第二点,sizeof(arrayquantityUnit)这句话的结果是4,因为指针是4个字节
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幕贯彻落实匣
2019-06-18 · TA获得超过1963个赞
知道小有建树答主
回答量:507
采纳率:86%
帮助的人:211万
展开全部
  • P是指针,指针加法就是指针在内存中的移动,因此P+1就是使P指向下一个位置;0是下标号,亦即首元素;[]是数组取元素值的一种方法,运算的结果是其中下标位置的值,与*类似,例如此处的*(P+1)等价于P[1],亦即a[1],因此输出的值即a[1][0],就...

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式