指针常量,常量指针,指针 区别
1:char str[22]="1234567890";
编译器在栈区 分配一个空间大小为22 ,并用给定的值进行初始化,其他部分用0初始化。
栈区分配的空间,没有初始化,其值不定
2:char * const pr=str;指针常量,pr是一个常量不可以作为左值;
指针常量不可以进行赋值操作
3:常量指针 const char* pr=str;
指针指向的是一个常量,不能用指针做左值
如果字符常量用指针操作 不加const的话,操作不当容易产生bug。即对只读区进行赋值操作在运行时报错。