第六章指針
【考點1】指針變量
指針變量是用來存儲地址的,而一般變量是存儲數值的。指針變量可指向任意一種數據類型,但不管它指向的數據占用多少字節,一個指針變量占用四個字節。
【考點2】指針變量的定義
格式為:類型名 *指針變量名。二維指針int **p;可以理解為基類型為(int *)類型。
【考點3】指針變量的初始化
指針變量在使用前必須要初始化,把一個具體的地址賦給它,否則引用時會有副作用,如果不指向任何數據就賦“空值”NULL。
指針變量兩種初始化
方法一:int a=2,*p=&a;(定義的同時初始化)
方法二:int a=2,*p; (定義之后初始化)
p=&a;
【考點4】指針變量的引用
&是取地址符,*是間接訪問運算符,它們是互逆的兩個運算符。在指針變量名前加間接訪問運算符就等價它所指向的量。
【考點5】指針的運算
int *p 中 *p 和p 的差別:
*p 可以當做變量來用;*的作用是取后面地址p 里面的數值
p 是當作地址來使用。
*p++ 和(*p)++的之間的差別:改錯題目中很重要
*p++是地址會變化。
(*p)++ 是數值會要變化。
三名主義:(考試的重點)
數組名:表示第一個元素的地址。數組名不可以自加,他是地址常量名。(考了很多次)
函數名:表示該函數的入口地址。
字符串常量名:表示第一個字符的地址。
考試重要的話語:
指針變量是存放地址的。并且指向哪個就等價哪個,所有出現*p 的地方都可以用它等價的代替指向的變量。
例如:int a=2,*p=&a;
*p=*p+2;
(由于*p 指向變量a,所以指向哪個就等價哪個,這里*p 等價于a,可以相當于是a=a+2)
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |