C 學習筆記 指標2

2021-06-01 02:04:29 字數 560 閱讀 2762

關於指標形參的注意事項:

不要企圖通過改變指標形參的值而使指標實參的值改變,看下面的**:

#include void swap(int * p1, int * p2);

int main() {

int a = 5, b = 9;

int * pa, * pb;

pa = &a;

pb = &b;

if(a < b) swap(pa, pb);

std::cout << a << ' ' << b <

要想輸入 9 5 ,我們應該這樣做:

#include void swap(int * p1, int * p2);

int main() {

int a = 5, b = 9;

int * pa, * pb;

pa = &a;

pb = &b;

if(a < b) swap(pa, pb);

std::cout << a << ' ' << b <

不可能通過呼叫函式來改變實參指標變數的值,但是可以改變實參指標變數所指向的值。

《C和指標》學習筆記2

在c中,在幾乎所有使用陣列名的表示式中,陣列名的值是乙個指標常量,也就是陣列裡第乙個元素的位址。它的型別取決於陣列元素的型別。只有在兩種情況下,陣列名並不用指標常量來表示,就是當陣列名作為sizeof操作符或者單目操作符 的操作時。sizeof返回整個陣列的長度,而不是指向陣列的指標的長度。取乙個陣...

C語言的指標學習筆記 2

1.陣列的關鍵符號的理解 例如 int a 100 a 一是陣列名,二是陣列首元素首位址 等價於 a 0 a 0 陣列的第乙個元素。a 0 陣列首元素首位址。a 陣列首位址。注 雖然a與 a的值相等,但是含義完全不同。2.用指標訪問陣列 int a 100 0 int p a 定義指標,並指向陣列a...

C 學習筆記2 C 引用 vs 指標

引用很容易與指標混淆,它們之間有三個主要的不同 1.不存在空引用。引用必須連線到一塊合法的記憶體。2.一旦引用被初始化為乙個物件,就不能被指向到另乙個物件。指標可以在任何時候指向到另乙個物件。3.引用必須在建立時被初始化。指標可以在任何時間被初始化。void swap int a,int b 這裡需...