怎么理解c語言里的指針?
怎么理解c語言里的指針,?
怎么理解c語言里的指針,?
我們在使用c語言進(jìn)行編寫程序的時候,就一定會使用上指針,,指針的操作是編寫程序的一個點,。如何更好的使用指針,將是我們進(jìn)行更好的書寫程序的關(guān)鍵,。這里,,分享一下自己在使用c語言編程過程中,對于指針的理解:1:指針是一個地址,,指向的是個類型:我們知道,c語言中的類型有int,,char,,bool(這個不常用),一般我們使用int,,char就可以滿足一般的類型需求的,,如果對于變量的長度過大,就是用long ,,float,,double,關(guān)于各個類型使用的的長度問題,,可以使用sizeof(int)或者sizeof(long)來查看各個類型,,在系統(tǒng)中的小。而指針就是一個8個字節(jié)(64系統(tǒng)),。
2:指針指向的是地址,地址指向的是內(nèi)容:我們需要一個變量,,來存儲地址,,這個變量的值是地址,但是我們可以通過修改變量的值,,來不斷的改變地址,,但是,我們?nèi)绻枰淖冊搨€地址的值的話,,就需要,,對地址的值進(jìn)行修改,而不改變地址,。int a = 10,;int *p ,;p = &a;*p =11,;a=,?這里我們看到,p 是一個變量,,我們使用p來存儲變量a的地址,,這是,我們使用*p對于這個變量進(jìn)行賦值,,那么a的值最后,,是多少呢,結(jié)果是11,,因為我們使用*p賦值,,就相當(dāng)于a=11,賦值效果一樣的,。3:指針的指針,,是面對于指針的變量:我們說,指針的指針的時候,,就有點不清楚了,,到底怎么區(qū)分指針和指針的指針呢。char *p,;char **pr,;pr = &p;我們這樣看就清楚了一點,,char *(*pr),; *pr是一個存儲的值為指針的變量,pr就是存儲上個變量地址的變量,。整合起來就是,,pr是一個存儲的值為指針的地址的變量。這樣,,我們就基本,,對于指針有一個直接的了解了。
因為C是中級語言,,所以它要有一定的硬件及匯編基礎(chǔ),,c語言中的指針,本質(zhì)上就是內(nèi)存的地址,。