1int year; year = 1000
; (記憶體位址在0028ff44)23
int * ptr_year; //
int * 即宣告了乙個指標型變數,指標是乙個變數,儲存的是乙個變數的位址。45
//在宣告語句中,可以把 " * " 看作是指標的型別
67 ptr_year = &year //
&取變數的位址,即ptr_year == 0028ff44;
而在非宣告語句中,* ptr_year是指抄老底,直接對此指標指向的變數的值進行更改
1int * ptr_year; //
宣告語句
23 * ptr_year = 1001
//非宣告語句 ,相當於year = 1001
45
指標初始化:
nullptr(暫存器常量)
void* ptr :特殊型別的指標型別,它可以存放任意物件的位址。
指標還可以加減,如陣列中,
1 #include 23using
namespace
std;
4int
main()
5 ;//
英文符號是紅色,中文是粉色!
6double *ptr;
7 ptr = &int_v[0
];8 ptr += 1
;9 cout << *ptr << endl; //
輸出 10
1011 }
陣列名其實就是陣列首元素的位址,int_v =&int_v[0]//陣列名其實就是指向陣列首元素的指標
引用(&):實質是指標功能的封裝。
1 #include 2 #include 3 #include 45using
namespace
std;
6int
main()
7 17
C指標與記憶體
指標是c c 中重要的構造型別,指標賦予了 c c 程式直接訪問和修改記憶體的能力。c c 的許多重要應用,如編譯 os 嵌入式開發都依賴於這種能力。馮諾依曼體系的計算機記憶體儲存指令和資料,我們可以將其抽象為指令區和資料區 當然實際情況要複雜得多 資料區中包含棧 stack 和堆 heap 區,棧...
指標與記憶體
char 乙個位元組 double 8個位元組 int 4個位元組 short 2 個位元組 fioat 4個位元組 將記憶體條抽象成乙個很大的一維字元陣列,對記憶體條中的每乙個位元組分配乙個32位或64位的編號 與32位或64位處理器相關 這個編號我們稱之為記憶體位址。定義乙個變數,用來儲存記憶體...
記憶體與指標 陣列與指標
陣列指標 行指標 型別識別符號 變數名 個數 陣列指標指向乙個提取的陣列,本質為指標 定義 int p n p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。陣列指標的步長必須和它指向的二維陣列的列長相同!p 2 相當...