C语言中字符数组的初始化与注意事项
生活随笔
收集整理的這篇文章主要介紹了
C语言中字符数组的初始化与注意事项
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在C語言中字符數組的初始化有三種常見的方法:
char a[5] = {'a','b','c','d','e'};char c[] = {'a','b','c','d','e'};char b[] = "abcde";第一種初始化的方式,在定義字符數組時直接給出數組的長度和數組的值;
第二種初始化的方式,在定義數組時并未給出數組的長度,而是根據后面的賦值,在編譯器編譯時為數組固定長度。
第三種初始化的方式,利用字符串來為字符數組賦初值,這種方式在定義是無需指定數組的長度。不過這種方式不同于前兩種。
可以通過下面的例子來看:
#include <stdio.h>int main() {int i = 0;char a[5] = {'a','b','c','d','e'};char b[] = {'a','b','c','d','e'};char c[] = "abcde";printf("sizeof(a):%ld\nsizeof(b):%ld\nsizeof(c):%ld\n",sizeof(a),sizeof(b),sizeof(c));return 0; }運行的結果如下:
sizeof(a):5 sizeof(b):5 sizeof(c):6可以看出最后一種初始化的數組長度與前兩種不一樣,這是為什么呢?原因在于那個初始化的字符串上面。一個字符串在計算機中用‘\0'來表示字符串結束。所以我們看到的"abcde",在計算機中的表示是啊'a' 'b' 'c' 'd' 'e' '\0'。事實上最后一種初始化得到的字符數組的大小為初始化字符的個數加上1。因為’\0‘作為數組的最后一個元素,但是該字符在輸出時并不顯示。
總結
以上是生活随笔為你收集整理的C语言中字符数组的初始化与注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 6.3 单元类型
- 下一篇: 监督学习 | 朴素贝叶斯之Sklearn