码迷,mamicode.com
首页 > 其他好文 > 详细

char *a与char a[n]的区别

时间:2017-10-12 01:06:04      阅读:469      评论:0      收藏:0      [点我收藏+]

标签:字符   strlen   区别   char   har   指针   字符串   问题   停止   

char *a=‘ab‘;//a[2]一定为‘\0‘,但是,a[5]这样的指针越界不会报错

char a[3] = {‘a‘,‘a‘,‘a‘};//a[3]属于越界,会报错

char b[5]={‘b‘,‘b‘};//系统会自动将没定义的字符定义为‘\0‘,即此字符串为{‘b‘,‘b‘,‘\0‘,‘\0‘,‘\0‘}

int j,q;

j = strlen(b);//值为1

q = strlen(b);//值不一定为3,strlen的机制是直到检测到‘\0‘为止

char c[3] = {‘c‘,‘c‘,‘\o‘};

strcat(b,c);//没问题

strcat(b,a);//报错,strcat的机制是把a中的字符添加到b字符串后面,直到检测到a中的‘\o‘停止添加。

char *a与char a[n]的区别

标签:字符   strlen   区别   char   har   指针   字符串   问题   停止   

原文地址:http://www.cnblogs.com/saolv/p/7653430.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!