陣列名與函式的結合使用注意項

2021-08-01 19:50:18 字數 405 閱讀 2310

陣列名即陣列的首位址,故陣列名屬於指標變數,在定義函式使陣列名作為形參時,要把對應的引數定義為指標變數。因為陣列沒有特定的使其讀入停止的標誌,因此還要有確定陣列長度的引數,即使用者自己輸入陣列長度。

**如下:

# 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 ...

函式名與陣列名的誤解

一 函式名的誤解 很多人把函式名理解為是函式的位址名,其實函式名是乙個函式實體的代表,並非是乙個位址的代表。函式名可以作為函式的位址,但是,絕大多數人都忽略了乙個條件,從函式到指標的隱式轉換是函式名在表示式中的行為,就是說,這個轉換僅在表示式中才會發生,這僅是函式名眾多性質中的乙個,而非本質,函式名...