简述字符串数组和字符指针的区别,举例说明。
发布网友
发布时间:2022-04-23 05:48
我来回答
共3个回答
热心网友
时间:2023-04-25 05:23
char *p = "123";
char q[] ="123";
====================
"123" ----这个字符串本身存在常量数据区
指针p,仅占用一个指针变量的大小,指向该常量区
数组q,占用字符串长度的大小,包括结束符\0,如上为4个字节,数据里面存放的是字符串的拷贝
我们知道,常量不可更改,所以p[0]='2';这种是非法的,但是q[0]='2';是合法的,它没改常量,只是改了数组中存的内容
p,指针为变量, 可以做自增等操作
q 数组名是常量,不能自增
p 指针变量的sizeof结果为4
q 数组的sizeof结果为数组的大小(字节数),做函数参数时除外
热心网友
时间:2023-04-25 05:23
字符串数组有多个在字符组成只是表示的是变量,字符指针只能表示一个字符的地址、
热心网友
时间:2023-04-25 05:23
数组有存储空间,指针没存储空间