C++ 学习之旅(7)——指针pointer
生活随笔
收集整理的這篇文章主要介紹了
C++ 学习之旅(7)——指针pointer
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
開門見山,如果把計算機的內存空間比作是一排房子,那指針就是房門號。指針實際上就是一個用來存儲內存地址的整數,與類型沒有關系,我可以定義一個void類型的指針:
#include <iostream>int main() {int var = 8;void* ptr = &var;std::cin.get(); //設置斷點 }設置斷點后Debug可以看到:
到Memory中輸入ptr的值可以看到:
在4個字節的內存空間中,存放了var的值8。
既然指針是一個數,那它應該也有地址呀,指針的指針?當然有:
#include <iostream>int main() {int var = 8;void* ptr = &var;void* ptr1 = &ptr;std::cin.get(); }
我們發現紅線的4個字節存放了指針的值,而它剛好就在存放var值8(藍線)的8個字節前。
如果我們想通過指針ptr去給var賦值,那類型就不能為void,否則會報錯:
#include <iostream>int main() {int var = 8;int* ptr = &var;*ptr = 10;std::cin.get(); }
指針只說明了內存地址,并不包含內存塊大小的信息,如果我們想使用指定大小的內存,可以這樣:
輸入buffer的值,可以看到8個字節的內存空間,且被置為1:
總結
以上是生活随笔為你收集整理的C++ 学习之旅(7)——指针pointer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 出汗能减脂肪吗
- 下一篇: 为什么减肥减到一定体重时就不会继续瘦下去