C语言中:char* ,char[]都可以保存字符串,那么他们的作用是不是一样的?

char* ,char[] 这两个是一样的功能吗?

不一样的。
首先从存储空间来说,char *存储区域在常量区, char [] 则在堆栈区,这就决定了 char * 所保存的字符串值是不可修改的,但是指针仍是可以只想其他的区域;而char a[] 的值是可以更改的,但是a的范围是不可以超出数组边界的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-03
char* 是指针并没有分配内存来储存,所以必须初始化指针,指向有效的内存地址。

用char[] 的时候必须初始化字符串,编译器会自己确定字符串长度来分配内存。本回答被提问者采纳
相似回答