C语言中,除了声明函数形参,别的地方char *p 和 char p[] 不等价。
#include <stdio.h>
char arr[N];
int main(void){
char a[] = {"hello"};
char *p = "hello";
printf("%zd\n",sizeof(a)); // 6
printf("%zd\n",sizeof(p)); // 8
return 0;
}
C语言中,除了声明函数形参,别的地方char *p 和 char p[] 不等价。
#include <stdio.h>
char arr[N];
int main(void){
char a[] = {"hello"};
char *p = "hello";
printf("%zd\n",sizeof(a)); // 6
printf("%zd\n",sizeof(p)); // 8
return 0;
}