标签:n+1 字符 创建 容量 str mem 使用 指针 c语言
C语言中字符串通常用字符指针和字符数组来定义:
char* pS="abcdef"; char s[]="abcdef";
这两种方式都会在结尾为字符串隐式补结束符‘\0‘
使得
strlen(pS); strlen(s); //均为6,未计算带‘\0‘的长度,拷贝字符串时,真实容量应+1;
若使用sizeof可以看到
sizeof(s)/sizeof(char);//这个值为7
所以在使用strncpy时切记strlen+1;
另,printf和strcpy等均以‘\0‘为结束标志,若以字符数组方式建立字符串时要记得加‘\0‘;
最好能在创建字符数组时用memset初始化为0x00;
标签:n+1 字符 创建 容量 str mem 使用 指针 c语言
原文地址:http://www.cnblogs.com/aviatorjeremy/p/6034152.html