三、字符数组和字符串数组的转化
字符数组中插入一个NULL字符,NULL字符前面(包括NULL字符)就成了字符串,一般NULL字符插在有效字符的最后。
#include <stdio.h>
#include <string.h>
int main(void)
{
//因为最后有NULL,所以这就变成了字符串
char cArr[] = {'Q', 'U', 'A', 'N', 'X', 'U', 'E', '\0'};
//因为少定义了一位,最后无NULL,所以这就变成了字符数组
char sArr[7] = "quanxue";
//最后一个元素未赋值
char tArr[16] = "www.quanxue.cn";
//用sizeof()求长度
printf("cArr: %2d ,%2d\n", strlen(cArr), sizeof(cArr));
printf("sArr: %2d ,%2d\n", strlen(sArr), sizeof(sArr));
printf("tArr: %2d ,%2d\n", strlen(tArr), sizeof(tArr));
//将tArr的最后一个元素赋值,字符串就成了字符数组
tArr[15] = '!';
//作为字符数组,将显示16个字符
for (i=0; i<16; i++) printf("%c", tArr[i]); //字符数组的显示方法
//作为字符串,将显示14个字符。
printf("\n%s\n", tArr); //字符串的显示方法
return 0;
}
结果如下:
|