int a =10;//10 是字面常量,存放在代码区(立即数),无地址。
char *p="qaz"; //其中p在局部变量区,“qaz”是字符串常量,存放在全局区。其中“qaz”只能读取,不可修改。
原因有两点:char*s="qaz"; (1) 若在局部变量区,会浪费空间。(2)若能修改,p[0]='a';则p、s的指针都会发生变化。所以要定义为常量,不可修改。
int a =10;//10 是字面常量,存放在代码区(立即数),无地址。
char *p="qaz"; //其中p在局部变量区,“qaz”是字符串常量,存放在全局区。其中“qaz”只能读取,不可修改。
原因有两点:char*s="qaz"; (1) 若在局部变量区,会浪费空间。(2)若能修改,p[0]='a';则p、s的指针都会发生变化。所以要定义为常量,不可修改。