陣列和函式

2021-08-15 02:19:55 字數 723 閱讀 6126

1,陣列如何作為引數傳遞?

陣列作為引數傳遞給函式和將指向陣列中第乙個元素的指標傳遞給函式是完全等價的,將陣列作為引數傳遞給函式時可採用值傳遞和位址傳遞 ,前一種需要完整複製初始陣列,很安全,後一種則速度較快。

2,結構體位元組對齊的細節和具體編譯器實現相關,但一般而言滿足三個準則:

1) 結構體變數的首位址能夠被其最寬基本型別成員的大小所整除;

2) 結構體每個成員相對結構體首位址的偏移量(offset)都是成員大小的整數倍,如有需要編譯器會在成員之間加上填充位元組(internal adding);

3) 結構體的總大小為結構體最寬基本型別成員大小的整數倍,如有需要編譯器會在最末乙個成員之後加上填充位元組

3,指標或帶下標的陣列名都可以訪問元素,哪乙個更好?

前者要確定陣列的位址,因此需要將i和型別x的大小相乘再與陣列a中第乙個元素的位址相加;後者只需間接引用指標p,間接引用快,

4 陣列

乙個陣列是乙個物件,而它的陣列名就是指向這個物件的第乙個元素的指標。

5 函式的陣列引數並不是真正的陣列,而是指標。

6 字串和陣列有什麼不同?

陣列的元素可以是任意一種型別,而字串是一種特別的陣列,它是使用了確定的長度,

7 傳遞陣列指標

當進行值傳遞時,主調函式把實參的值複製給形參,形參獲得從主調函式傳遞過來的值進行函式,

在值傳遞過程中,被調函式引數值的更改不能改變實參值的更改,但是位址傳遞會導致實參值的更改

陣列和函式

1.可以使用陣列後面第乙個元素的位址嗎?可以使用陣列後面第乙個元素的位址,但是不可以檢視該位址中的值 2.陣列通過引數傳遞給函式時,可以通過sizeof得到陣列的大小嗎?不可以,當陣列作為函式的引數時,你無法在在程式執行時通過陣列引數本身告訴函式該陣列的大小,因為函式的陣列引數相當於指向陣列第乙個元...

陣列和函式陣列

1.首先看一下函式,每個函式的函式名表示的是函式的入口位址,簡單看一下,如下圖 1 include stdafx.h 2 3 include stdio.h 4 include stdlib.h 5 6void test void 7 1011 int main void 12 執行結果如下 2 函...

陣列指標和指標陣列 函式指標和指標函式

一 陣列指標與指標陣列 1,指標陣列 所謂指標陣列,就是指標組成的陣列,即陣列的元素為指標 int pa size size為元素數目,元素的值為int型別的指標 2,陣列指標 所謂陣列指標,就是指向陣列的指標,即其是乙個指標,指向陣列。int pa size size為陣列的元素數目,pa指向乙個...