1.C语言没有原生的字符串类型
a.高级语言中有字符串类型,如string;
b.C语言中使用指针来管理字符串;
如:char* p=“linux”,此时p叫做字符串,但是实际上p只是一个字符指针,p指向了字符串的首地址;
2.C语言中字符串的本质
本质:指针指向头、有固定的尾部的地址相连的一段内存;
字符串的核心要点:指针指向头、固定尾部以\0结尾、组成字符串的各个字符地址相连;
3.指向字符串的指针和字符串本身是两个东西
如char* p=“linux”,p的本质是指针,“linux”分配在代码段是只读的,一共耗费了10个字节的空间,4个字节的指针p为字符串的头,5个字节的用来存linux5个字符,最后一个字节用来存\0的结尾标志。