2.另外文中有些細節可能引用您的內容卻未給出參考,請原諒我的疏忽,你的共享我不會忘記.
3. email:[email protected] 李枝果/lizgo
1.乙個變數,同時具有兩個屬性:左值和右值,左值表示該變數所分配空間的位址,右值表示該變數空間中所儲存的值。
2.乙個變數的型別就是其中所儲存的值的型別,如:int ab=100; 100是整型,ab也是整型變數。
3.乙個變數的位址就是乙個指標,指標變數是乙個特殊的變數,即指標變數,其中存放的是位址值,arm平台下就是4位元組整型數,但是系統會解釋成位址。(通常情況下,位址,指標,指標變數我們不區分概念)
4.乙個指標存放了哪個變數的位址,我們就說這個指標指向這個變數。
5.乙個指標變數必須清楚四個方面的屬性:指標變數自身的型別,指標變數所指向的型別,指標變數的值,指標本身所佔據的記憶體區。
6.指標可以指向任何一種型別的變數(c語言中所允許的變數型別),因此,指標的型別是很多的,例如,int型,char型,float型、陣列型別、結構型別、聯合型別,還可以指向函式、檔案和指標
7.乙個陣列名其實就是乙個指標變數,裡面的值是該陣列首元素的首位址。但是這個指標變數是乙個特殊的指標變數,因為它沒有左值,也就是不能將陣列名放在=號的左邊,不能給陣列名(指標變數)賦值,但是我們卻可以對陣列名取位址(&)。所以我們通常將其認為是位址常量。
8.陣列名的內容是其首元素的首位址;陣列名的型別是其元素的指標型別。
9.指標的型別:從語法的角度看,你只要把指標宣告語句裡的指標名字去掉,剩下的部分就是這個指標的型別。這是指標本身所具有的型別。
10.指標的基型別:從語法上看,你只須把指標宣告語句中的指標名字和名字左邊的指標宣告符 *去掉,剩下的就是指標所指向的型別,也就是基型別。
10. 二級指標:
int a; 型別int 基型別 無
int *p; 型別int * 基型別 int
int **pa; 型別int ** 基型別 int *
p=&a; p——>a *p<-->a
pa=&p; pa——>p *pa<->p **pa<-->a
關於陣列和指標的一些基本問題
2.另外文中有些細節可能引用您的內容卻未給出參考,請原諒我的疏忽,你的共享我不會忘記.3.email lizhiguo0532 163.com 李枝果 lizgo 1.乙個變數,同時具有兩個屬性 左值和右值,左值表示該變數所分配空間的位址,右值表示該變數空間中所儲存的值。2.乙個變數的型別就是其中所...
C C 一些基本問題
自從用了qt之後發現人被慣壞了,一開始用qt只是出於做介面的發現,後來覺得qt中對於基本類的封裝比c 標準庫神馬的做得好,因此就習慣於用封裝好的東西。這幾天想用最簡單的c語言來解決問題的時候發現好多東西被忘掉了,本來當個助教是個很好的複習方法,可惜被我錯過了,遺憾中。1.檔案讀寫 c檔案讀寫操作 c...
C 的一些基本問題
1 全域性變數加 static 和不加有什麼區別?全域性變數 外部變數 的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方 式。這兩者在儲存方式上並無不同。這兩者的區別雖在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個...