1.给指针赋值
原则不能对 未初始化的指针 赋值 会造成无法预知的危害,擅自修改内存地址中的内容
字符串指针赋值
const char *m3 = " Enough about me - what's your name? ";
因为 " " 双引号表示指向字符内容的指针,说明编译的时候已经给双引号中的内容分配了地址,并且地址中已经把字符串存进去了,所以 const char *m3 表示 指向字符串首地址的字符是一个常量,所以不会造成危害
普通指针赋值 有危害
int *p1 = 10
2.c 语言中的变长数组:指的是数组的大小可以运行时指定,但是大小的值是确定的
3.c 语言中定义字符串
字符串和字符数组的区别:字符串是 结束的字符数组,定义字符串常量时,必须是双引号,因为这样编译器才知道是字符串,自动加上 结束符
字符串常量属于静态存储类,字符串常量只存储一份,整个引号中的内容作为指向该字符串存储位置的指针