陣列名即陣列的首位址,故陣列名屬於指標變數,在定義函式使陣列名作為形參時,要把對應的引數定義為指標變數。因為陣列沒有特定的使其讀入停止的標誌,因此還要有確定陣列長度的引數,即使用者自己輸入陣列長度。
**如下:
# include
void f (int *x,int len)
int i;
for(i=0;iprintf("%d ",*(x+i)); //輸出時要用*(x+i),不能直接用main函式中的陣列名(陣列名不確定)
} //但是可以使用x[i], 即 printf("%d ",x[i]):
int main (void)
int a[5];
f (a,5);
return 0;
陣列名a與陣列名取位址 a的差異
老話有句說 差之毫釐,謬以千里。人也分兩種,一種人是凡事盡善盡美型的,另一種人就是馬馬虎虎型的。int main int argc,char argv int ptr int a 1 printf d d a 1 ptr 1 getchar return 0 上面這段 的輸出為 2 5 關鍵是下面這...
C語言 陣列名與 陣列名的區別
char str 10 str 的值為str 0 的位址值,型別為char 型 str的值為陣列的首位址,型別為char 此處,兩者的值是相同的。所以在使用的時候要注意指標的型別,值相同,型別不同也是不對的 include include include include contact.h int ...
函式名與陣列名的誤解
一 函式名的誤解 很多人把函式名理解為是函式的位址名,其實函式名是乙個函式實體的代表,並非是乙個位址的代表。函式名可以作為函式的位址,但是,絕大多數人都忽略了乙個條件,從函式到指標的隱式轉換是函式名在表示式中的行為,就是說,這個轉換僅在表示式中才會發生,這僅是函式名眾多性質中的乙個,而非本質,函式名...