首先,在標準C語言中,通常是不使用數組的。在C語言中,數據陣列的標準使用方法是定義指針→為數據陣列申請內存空間→采用計算指針位移的方式尋址。
靜態數組也有采用“數組”形式的,但需注意在函數間傳遞數據時需要使用&符獲取指針。否則無法進行數據傳遞。
一維數據陣列使用方法(長整數為例):
long*p0,*p1,i,x;/*聲明指針變量*/
p0=calloc(N*length(long));/*申請內存空間*/
……
p1=p0+i;/*計算數值偏移*/
x=*p1;/*使用數據*/
……
cfree(p0);/*釋放內存*/
return;
多維數據陣列使用方法(長整數為例):
long*p0,*p1,i,x;/*聲明指針變量*/
p0=calloc(N*M*P*length(long));/*申請內存空間*/
……
p1=p0+k*M*N+j*M+i;/*計算數值偏移*/
x=*p1;/*使用數據*/
……
cfree(p0);/*釋放內存*/
return;
注意,各維度尋址變量范圍
i=0~N-1;
j=0~M-1;
k=0~P-1;