char *p=“abcde”;
这种方式是定义了一个字符型指针,指向常量字符串"abcde",可认为编译器做了下面的事情:在常量区分配6个字节,分别放上a,b,c,d,e,\0,然后把a的地址返回给p。
char p[]=“abcde”;
这种方式是定义了一个字符数组,其长度自动设置为"abcde"。
第一种指向了常量区,无法修改内容。
第二种定义了普通的数组变量,放在栈中,可以修改。
char *p=“abcde”;
这种方式是定义了一个字符型指针,指向常量字符串"abcde",可认为编译器做了下面的事情:在常量区分配6个字节,分别放上a,b,c,d,e,\0,然后把a的地址返回给p。
char p[]=“abcde”;
这种方式是定义了一个字符数组,其长度自动设置为"abcde"。
第一种指向了常量区,无法修改内容。
第二种定义了普通的数组变量,放在栈中,可以修改。