程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> C/C++ 數組變量聲明備忘

C/C++ 數組變量聲明備忘

編輯:關於C

用習慣了.net, java的人,用C/C++的數組還是很不習慣的。C/C++中數組和指針是等價的,但是在寫法上稍有

1,形參

例如,以數組為形參,有兩種寫法:

[cpp]
int FindMax1(int* Array); 
int  FindMax2(int Array[]); 

編譯都是可以通過的,語義也都一樣。
但是,在數組的初始化中:

[html]
//非法 int* Array1 = {0,1,2,3}; 
int Array[] = {0,1,2,3};//通過 

一定注意*和[]與int結合的順序不同。

2,形參

另外,以int ArrayName[] 的形式初始化數組,可以提高數組變量初始化的效率。

[cpp]
int Array1[10] = {0};//將整個數組成員元素初始化為0; 
char Array2[]={'a','b','c',0}; //當數組定義時沒有指定大小,當初始化采用列表初始化了,那麼數組的大小由初始化時列表元素個數決定,該數組長度為4 
int  Array3[8]={1,2,3,4};//當數組聲明長度大於列表元素長度,剩余元素初始化為0, 等價於           int   v5[8]={1,2,3,4,0,0,0,0}; 
3,sizeof()

sizeof(int*),數組指針的字節數,32位系統上為4;

int Array1[10] = {0};

sizeof(Array1),數組實際所占內存空間,此處為4*10 = 40;

總結:

int* Array1為指針的意義,而int Array1[]為數組的意義。


在 摘自 bestwolf1983的專欄
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved