主要讲跟 int 不一样的地方,字符串的实现,二重指针易导致的错误
一、字符数组 char a[ ]
定义了一个字符数组
char strings[10] = {
"hello word"};
当编译器初始化时,会将strings数组里的hello word\0,按照顺序放在分配给strings数组的连续的内存中。
这是我一直不太清楚的地方:为什么可以用字符数组表示字符串?因为字符数组的内存是连续的,并且char占一个字节,所以字符数组可以表示字符串。
因为数组名代表当前数组所占内存位置的首地址,即strings = &strings[0],下面引入用字符指针表示字符串。
二、字符指针 char *
example:
char