关于指针和指针数组的输出
在指针和指针数组的赋值输出遇到问题。指针,定义一个字符串,用指针把字符串的首位元素改变了。
指针数组,定义一个字符串数组,用指针的指针把首位元素改变,输出,内存出错。
为什么前者可以修改,后者不可以间接修改元素?如果后者修改可以怎么去做呢?
谢谢!
程序代码:
//指针 #include<stdio.h> #include<stdlib.h> int main() { char ch[]={"asdf"}; char *q; q=ch; *q='q'; printf("%s",q); system("pause"); return 0; } //指针数组 int main() { char *ch[]={"asdf","qwe"}; char **q; **q='l'; printf("%s",*q); system("pause"); return 0; }
测试程序: