c 學習筆記(二) 指標

2022-08-19 01:45:11 字數 952 閱讀 9835

int balance[5] = ;

int *ptr;

ptr = balance; //ptr是指向陣列balance的指標

//或者這樣也是可以的:

ptr = &balance;

balance和ptr的區別是ptr是變數,balance是常量:

*ptr++ = 1; //這是可以的

ptr = balance++; //這是不可以的,ide會報錯說表示式必須是可修改的左值

根據菜鳥教程:

「c++ 不支援在函式外返回區域性變數的位址,除非定義區域性變數為static變數」

栗子本來用的隨機數生成,覺得看的時候亂,直接改成1~10遞增,長這樣:

//

要生成和返回隨機數的函式

int *getrandom( )

return

r;}

其實也好理解,如果不把變數定義成靜態,函式裡的變數就是區域性變數了,呼叫函式的時候才會給區域性變數分配記憶體空間,那函式返回以後分配的空間已經被作業系統**了。

試了下,如果去掉靜態修飾符static,輸出結果亂碼,但如果定義成全域性變數也是可以的:

定義乙個類:solution,成員函式twosum()

那麼,呼叫這個類時可以有兩種方法:

solution mysolution;

mysolution.twosum();

或:

solution*mysolution;

mysolution = new

solution();

mysolution->twosum();

類的this指標

指標學習二 指標 位址

通過位址的呼叫來改變變數的值 includevoid f int p void g int k int main void f int p void g int k i 0063fe9c p 0063fe9c p 6 k 26定義乙個變數p,它位於2000單元,該單元存放了變數x的位址1000。此時...

C語言 二 指標

一 指標概述 1.簡介 2.初始化 1 先定義後初始化 int a 10 int p p a 2 定義並初始化 int a 10 int p a 備註 在資料型別後,變數名稱前的 是乙個說明符,用來說明該變數是乙個指標變數。如果前面沒有資料型別,如 p,這裡的 是乙個指標運算子,用來取出指標變數所指...

C語言認識(二)指標

指標 int main p認為是一級指標 p存的是a的位址 指標又稱為間接訪問符。typedef查詢一下。基本變數可以進行混合運算。混合型別 陣列 指標等 基本型別不能和混合型別進行運算。無論是 int p 還是 char p1 double p2 指標的大小是固定的,由cpu大小決定。32bit電...