本文目錄一覽:
在C語言編程中,定義一個數組時要不要初始化?
不是不能初始化,是初始化的不對。另外,數組最好用memset初始化。
(1)在定義數組時對數組元素賦以初值。如:
static int a[10]={0,1,2,3,4,5,6,7,8,9};
經過上面的定義和初始化後,a[0]=0,a[1]=1,… ,a[9]=9。
(2)初始化時可以只對一部分元素賦初值。例如:
static int a[10]={0,1,2,3,4};
定義的數組有10個元素,但只對其中前5個元素賦了初值,後5個元素初值為0。
擴展資料
數組的三種初始化方式
1、靜態初始化
除了用new關鍵字來產生數組以外,還可以直接在定義數組的同時就為數組元素分配空間並賦值。例 int[] a={1,2,3};//靜態初始化基本類型數組
Man[] mans={new Man(1,1),new Man(2,2)};//靜態初始化引用類型數組
2、動態初始化
數組定義與為數組元素分配空間並賦值的操作分開進行。int[] a1=new int[2];//動態初始化元素,先分配空間。
a1[0]=1;//給數組元素賦值
a1[2]=2;
3、數組的默認初始化
數組是引用類型,他的元素相當於類的實例變數,因此數組一經分配空間,其中的每個元素也被按照實例變數同樣的方式被隱式初始化。
實例:int a2[]=new int[2];//默認值0,0
boolean[] b=new boolean[2];//默認值 false,false
String[] s=new String[2];//默認值null
在C語言如何在定義數組時給數組賦值?
要理解C語言中數組的運作機制,我們首先必須理解如何聲明一個數組,例如:
int a[3];
這個語句聲明了a是一個擁有了3個整型元素的數組,類似的:
struct{
int p[4];
double x;
}b[17];
聲明了b是一個擁有17個元素的數組,其中每個元素都是一個結構,該結構中包括了一個擁有4個整形元素的數組(命名為p)和一個雙精度類型的變數(命名為x)。
現在考慮下面的例子:
int calendar[12][31];
這個語句聲明了calendar是一個數組,該數組擁有12個數組類型的元素,其中每個元素都是擁有31個整型元素的數組(而不是一個擁有31個數組類型的元素的數組,其中每個元素又是一個擁有12個整型數組元素的數組)因此sizeof(calendar)的值是372(31*12)與sizeof(int)的乘積。
如果calendar不是用於sizeof的操作數,而是用於其他的場合,那麼calendar總是被替換成一個指向calendar數組的起始元素的指針。要理解上面這句話的含義,我們首先必須理解有關指針的一些細節。
c語言數組的定義
C語言支持一維數組和多維數組。如果一個數組的所有元素都不是數組,那麼該數組稱為一維數組。
在C語言中使用數組必須先進行定義,一維數組的定義方式為:類型說明符; 數組名 ;[常量表達式]。
其中,類型說明符是任一種基本數據類型或構造數據類型。數組名是用戶定義的數組標識符,方括弧中的常量表達式表示數據元素的個數,也稱為數組的長度。例如:
int a[10]; /* 說明整型數組a,有10個元素 */
float b[10], c[20]; /* 說明實型數組b,有10個元素,實型數組c,有20個元素 */
char ch[20]; /* 說明字元數組ch,有20個元素 */
對於數組類型說明應注意以下幾點:
1、數組的類型實際上是指數組元素的取值類型。對於同一個數組,其所有元素的數據類型都是相同的。
2、數組名的書寫規則應符合標識符的書寫規定。
3、數組名不能與其它變數名相同。例如:
int a;
float a[10];
是錯誤的。
4、方括弧中常量表達式表示數組元素的個數,如a[5]表示數組a有5個元素。但是其下標從0開始計算。因此5個元素分別為a[0], a[1], a[2], a[3], a[4]。
5、不能在方括弧中用變數來表示元素的個數,但是可以是符號常數或常量表達式。例如:
#define FD 5
// …
int a[3+2],b[7+FD];
是合法的。但是下述說明方式是錯誤的。
int n=5;
int a[n];
6、允許在同一個類型說明中,說明多個數組和多個變數。例如:
int a,b,c,d,k1[10],k2[20];
擴展資料:
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
儘管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標準規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言制定了一套完整的美國國家標準語法,稱為ANSI C,作為C語言最初的標準。[1]目前2011年12月8日,國際標準化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標準,也是C語言的最新標準,該標準更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。
其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
C語言中如何定義數組
在C語言中使用數組必須先進行定義。一維數組的定義方式為:
類型說明符
數組名
[常量表達式];
其中,類型說明符是任一種基本數據類型或構造數據類型。數組名是用戶定義的數組標識符。方括弧中的常量表達式表示數據元素的個數,也稱為數組的長度。例如:
對於數組類型說明應注意以下幾點:
1)
數組的類型實際上是指數組元素的取值類型。對於同一個數組,其所有元素的數據類型都是相同的。
2)
數組名的書寫規則應符合標識符的書寫規定。
3)
數組名不能與其它變數名相同。例如
是錯誤的。
4)
方括弧中常量表達式表示數組元素的個數,如a[5]表示數組a有5個元素。但是其下標從0開始計算。因此5個元素分別為a[0],
a[1],
a[2],
a[3],
a[4]。
5)
不能在方括弧中用變數來表示元素的個數,但是可以是符號常數或常量表達式。例如:
是合法的。但是下述說明方式是錯誤的。
6)
允許在同一個類型說明中,說明多個數組和多個變數。例如:
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/302071.html