数组:
注意事项:字符串所占的空间至少要比字符串长度大1,因为字符串以 '\0' 表示结束.系统提供的字符串处理函数都是根据 '\0' 来判断字符串是否结束.
数组的初始化:
char array[10] = {'\0'};
或者 char array[10] = "";
strlen()函数 和 sizeof()函数:
#inlcude <stdio.h>
int main(int argc,const char * argv[])
{
//单引号定义字符数组时最后要加上'\0'结束符,这样strlen()函数才能判断是否结束
char array1[10] = {'H','e','l','l','o',' ','C','\0'};
char array2[10] ="Hello C"; //这样定义会自动添加'\0'
long lengtha1 = strlen(array1);// '\0'虽然占一个字符,但不参与strlen()函数的计算
long lengtha2 = strlen(array2);
long sizea1 =sizeof(array1); //sizeof()使计算数组的空间长度
long sizea2 = sizeof(array2);
printf("lengtha1 = %ld, ",lengtha1);
printf("lengtha2 = %ld\n",lengtha2);
printf("sizea1 = %ld, ",sizea1);
printf("sizea2 = %ld",sizea2);
}
输出结果是:
lengtha1 = 7, lengtha2 = 7
sizea1 = 8, sizea2 = 8
strcmp(a,b)函数:
注意的是 a 和 b 必须为字符串数组,单个字符不可用此函数比较