1. 程式人生 > >初學者對指標的理解(1)

初學者對指標的理解(1)

[email protected][TOC](如何理解c語言中的指標

標題

初學者對指標的理解(1)

你好! 這是你第一次使用 Markdown編輯器 所展示的歡迎頁。很多功能還不太熟練

什麼是指標

明白資料在記憶體中的儲存

     當你在程式中定義一個變數,在對程式進行編譯時,系統就會給該變數分配一個記憶體單元。根據定義的變數型別,分配不同的長度空間。如int型變數分配四個位元組,float四個位元組,char分配一個位元組。在記憶體區每一個位元組都有一個編號,就是地址,相當於旅館中的房間門牌號,則記憶體區資料相當於房間裡的旅客。

指標即地址,地址即指標

通過尋找房間門牌號(地址)可以找到房間,將地址形象的稱為指標,通過指標能夠找到相對應記憶體單元,注意:是記憶體單元不是資料,資料是儲存單元的內容。

直接訪問與間接訪問

例如:k=i+j;
在這裡插入圖片描述
直接根據地址取出變數i,j的值,將他們相加後的和送到k所佔的2008-2007位元組單元中去。
i=3;
間接訪問是將i的地址作為一個數據放入另一個記憶體單元(重新定義·一個變數),通過該變數獲得i的地址來訪問變數i。 從變數i-pointer取出i的地址2000,再從2000位元組開始的儲存單元中取出i的值3
i-pointer=&a;*i-pointer=3;
這種存放地址的變數叫指標變數。指標變數也佔有相應的記憶體單元。通過該變數的值得到另一變數的地址,用箭頭指向另一變數的儲存單元。
指標變數的值是地址,即指標。如i的指標變數的值是2000,i的指標是2000,而i的指標變數是i-pointer。