[c语言]字符数组、字符串定义

时间:2023-03-09 16:45:22
[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;