在C语言里怎么给指针数组里的某一个元素赋值?6
发布网友
发布时间:2024-03-07 09:01
我来回答
共3个回答
热心网友
时间:2024-04-11 00:00
不可以
原因很简单
"one","two"是存在静态存储区的,这个地址中的值不能被修改。
*(p[1]+1)=getchar();
运行这句,程序应该崩溃
也就是说这种声明:char *p[]={"one","two"};
是不能修改其中指针指向地址中的值的,只能读取
而
char p[][5]={"one","two"};
这种声明,变量则是存在栈上的,这时就可以
*(p[1]+1)=getchar();
来修改
热心网友
时间:2024-04-11 00:00
你的数组不是从p[0]开始的么?!
p[1]就已经是数组p中的第二个元素的值了。。。
*(p+1)的话也可以。。。
热心网友
时间:2024-04-11 00:01
不知道是不是我理解错了,是指这样的么 int i=1;