《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"};       //字符串指针数组,存放的是指针即元素地址,指针指向其中的元素

  

 

posted @ 2020-07-01 18:18  一个不知道干嘛的小萌新  阅读(569)  评论(0编辑  收藏  举报