三、字符数组和字符串数组的转化
字符数组中插入一个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;
- }
结果如下:
|