淺談指針01

                       最近在學數據結構,發現裏面幾乎都要用到指針,這讓我不得不復習一下指針,畢竟指針是c語言的靈魂,弄明白了這個,學其方面也有幫助,因此如今咱們第一天先淺談指針。數據結構

           1、指針概念:學習

                  一、什麼是指針?spa

                          在講指針以前,要明白「地址」這個概念(由於這個是理解指針的小前提):寄快遞想必你們都不陌生吧,在寄快遞的時候,你必須得填寫收件人的所在地方(也就是地址),這樣快遞公司纔好運送。操作系統

從這個簡單的例子能夠看出,地址就是一個標記識別符,你得知道它在哪裏,才方便辦事,雖然這個例子不太好,但仍是有助於理解(在計算機裏面,地址是內存單元的編號,是一個從0開始的非負整數,範圍是從0----0XFFFFFFFF(0---4G-1),注意這裏的0XFFFFFFFF是32位操做系統的內存空間大小)。好了,例子說完了,迴歸主題;指針就是地址就是地址,地址就是指針,指針本質是一個操做受限的非負整數,是否是好理解,hhh 。指針

                   二、什麼是指針變量,什麼是變量指針?code

                            本身一開始學習指針的時候,被這個弄暈了頭,總是弄錯了,非常傷腦筋;那咱們來看一下他們的區別吧(也是對本身再一個學習):blog

                                   a、指針變量:它是一個存放內存單元地址的變量。內存

                                 b、變量指針:簡單來講就是變量的地址io

                          咱們仍是來看一個簡單的代碼來理解:class

 1 #include <stdio.h>
 2 int main()
 3 {
 4     int * p;   //p是一個變量名字,int * 表示該p變量只能存儲int類型變量的地址 ,也就能夠理解上面那個指針變量 
 5     int i=10;
 6     int j;
 7     
 8     
 9     p=&i;   //這裏的"&"是一個取地址符號,把i變量的地址取出來賦給指針p,這裏能夠理解上面那個 變量指針,也就是說的變量地址,由於其實每一個變量在內存單元中都有一個地址標識符 
10     printf("%p\n",p); #打印出p的地址
11  }
相關文章
相關標籤/搜索