菜鸟学C_字符串数组与字符串指针数组

1.字符串数据

字符数组初始化:

char a[10] ="hello"; //字符串以'\0'结尾,这种方式系统会自动在数组未填值的地方添加'\0'

char b[] = {'h', 'e' , 'l', 'l', '\0'}; //类似于初始化整型数组,必须要手动在后面添加'\0'

通过sizeof计算字符串数据长度

char c[] = “hello”; //没有字符串大小的限制

char d[5] = "hello" //限制了字符串的大小

通过sizeof(c)和sizeof(d),得出的结果分别为6跟5。因为sizeof(c)计算了NULL字节。

因此在使用字符串数据的时候尽量要把大小要大点,或者不设置字符串大小限制。


2.字符串指针数组和字符串数组的区别

char a[] = "hello"; //字符串数组,存放的是字符

char *b[] = {"hello", "world"}; //字符串指针数组,存放的是指针即元素地址,指针指向其中的元素

举报
评论 0