int balance[5] = ;balance和ptr的區別是ptr是變數,balance是常量:int *ptr;
ptr = balance; //ptr是指向陣列balance的指標
//或者這樣也是可以的:
ptr = &balance;
*ptr++ = 1; //這是可以的根據菜鳥教程:ptr = balance++; //這是不可以的,ide會報錯說表示式必須是可修改的左值
「c++ 不支援在函式外返回區域性變數的位址,除非定義區域性變數為static變數」
栗子本來用的隨機數生成,覺得看的時候亂,直接改成1~10遞增,長這樣:
//其實也好理解,如果不把變數定義成靜態,函式裡的變數就是區域性變數了,呼叫函式的時候才會給區域性變數分配記憶體空間,那函式返回以後分配的空間已經被作業系統**了。要生成和返回隨機數的函式
int *getrandom( )
return
r;}
試了下,如果去掉靜態修飾符static,輸出結果亂碼,但如果定義成全域性變數也是可以的:
定義乙個類:solution,成員函式twosum()
那麼,呼叫這個類時可以有兩種方法:
solution mysolution;或:mysolution.twosum();
solution*mysolution;類的this指標mysolution = new
solution();
mysolution->twosum();
指標學習二 指標 位址
通過位址的呼叫來改變變數的值 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電...