同:
1、都可以表示字符串
2、都可以通过数组下标访问字符串元素
区别:
1、字符指针使用时要分配空间
2、字符数组可以通过数组下标改变元素的值,而字符指针不可以
char str[6] = "hello";
char *ptr= "hello"
printf("str[1] = %c\n",str[1]); //e
printf("ptr[1] = %c\n",ptr[1]); //e
str[1] = 'm'; //正确
ptr[1] = 'm'; //错误
思考:
char *testShow()
{
char str[] = "hell0"; //改:char *str = "hello";
return str;
}
int main()
{
char *p = NULL;
p = testShow();
printf("p = %s\n",p);
}