指針變量是一種特殊的變量,它和以前學過的其他類型的變量的不同之處是:用它來指向另一個變量。為了表示指針變量和它所指向的變量之間的聯系,在C++中用“*”符號表示指向,例如,i_pointer是一個指針變量,而*i_pointer表示i_pointer所指向的變量。
下面兩個語句作用相同:
i=3; *i_pointer=3;
定義指針變量
C++規定所有變量在使用前必須先定義,即指定其類型。在編譯時按變量類型分配存儲空間。對指針變量必須將它定義為指針類型。先看一個具體例子:
int i, j; //定義整型變量i,j int *pointer_1, *pointer_2; //定義指針變量*pointer_1,*pointer_2
第2行開頭的int是指:所定義的指針變量是指向整型數據的指針變量。也就是說,指針變量pointer_1和pointer_2只能用來指向整型數據(例如i和j),而不能指向浮點型變量a和b。這個int就是指針變量的基類型。指針變量的基類型用來指定該指針變量可以指向的變量的類型。
定義指針變量的一般形式為:
基類型 *指針變量名;
下面都是合法的定義:
float *pointer_3; // pointer_3是指向單精度型數據的指針變量 char *pointer_4; // pointer_4是指向字符型數據的指針變量
請注意:指針變量名是pointer_3和pointer_4,而不是*pointer_3和*pointer_4,即“*”不是指針變量名的一部分,在定義變量時在變量名前加一個“*”表示該變量是指針變量。
那么,怎樣使一個指針變量指向另一個變量呢?只需要把被指向的變量的地址賦給指針變量即可。例如:
pointer_1=&i; //將變量i的地址存放到指針變量pointer_1中 pointer_2=&j; //將變量j的地址存放到指針變量pointer_2中
這樣,pointer_1就指向了變量i,pointer_2就指向了變量j。見圖。
一般的C++編譯系統為每一個指針變量分配4個字節的存儲單元,用來存放變量的地址。
在定義指針變量時要注意:不能用一個整數給一個指針變量賦初值,在定義指針變量時必須指定基類型。
引用指針變量
有兩個與指針變量有關的運算符:
&取地址運算符。
*指針運算符(或稱間接訪問運算符)。
例如:&a為變量a的地址,*p為指針變量p所指向的存儲單元。
【例】通過指針變量訪問整型變量。
#include <iostream>using namespace std;int main( ){ int a,b; //定義整型變量a,b int *pointer_1,*pointer_2; //定義指針變量*pointer_1,*pointer_2 a=100;b=10; //對a,b賦值 pointer_1=&a; //把變量a的地址賦給pointer_1 pointer_2=&b; //把變量a的地址賦給pointer_2 cout<<a<<" "<<b<<endl; //輸出a和b的值 cout<<*pointer_1<<" "<<*pointer_2<<endl; //輸出*pointer_1和*pointer_2的值 return 0;}
運行結果為:
100 10 (a和b的值)100 10 (*pointer_1和*pointer_2的值)
請對照圖分析。
下面對“&”和“*”運算符再做些說明:
1) 如果已執行了“pointer_1=&a;”語句,請問&*pointer_1的含義是什么?“&”和“*”兩個運算符的優先級別相同,但按自右至左方向結合,因此先進行*pointer_1的運算,它就是變量a,再執行&運算。因此,&*pointer_1與&a相同,即變量a的地址。
如果有pointer_2=&*pointer_1;它的作用是將&a(a的地址)賦給pointer_2,如果pointer_2原來指向b,經過重新賦值后它已不再指向b了,而也指向了a。
2) *&a的含義是什么?先進行&a的運算,得a的地址,再進行*運算,即&a所指向的變量,*&a和*pointer_1的作用是一樣的(假設已執行了“pointer_1=&a;”),它們等價于變量a。即*&a與a等價,見圖。
【例】輸入a和b兩個整數,按先大后小的順序輸出a和b(用指針變量處理)。
解此題的思路是:設兩個指針變量p1和p2,使它們分別指向a和b。使p1指向a和b中的大者,p2指向小者,順序輸出*p1,*p2就實現了按先大后小的順序輸出a和b。按此思路編寫程序如下:
#include <iostream>using namespace std;int main( ){ int *p1,*p2,*p,a,b; cin>>a>>b; //輸入兩個整數 p1=&a; //使p1指向a p2=&b; //使p2指向b if(a<b) //如果a<b就使p1與p2的值交換 { p=p1;p1=p2;p2=p; //將p1的指向與p2的指向交換 } cout<<"a="<<a<<" b="<<b<<endl; cout<<"max="<<*p1<<" min="<<*p2<<endl; return 0;}
運行情況如下:
4578亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb 久久免费国产精品1| 久久成人精品一区二区三区| 成人写真福利网| 亚洲最大中文字幕| 久久久久久国产精品三级玉女聊斋| 久久久精品国产一区二区| 少妇久久久久久| 亚洲精品美女在线| 欧美另类极品videosbest最新版本| 久久久国产精品一区| 国产精自产拍久久久久久| 午夜精品久久久久久久久久久久久| 国产精品视频一区二区高潮| 亚洲黄色有码视频| 91美女片黄在线观| 国产精品一区二区三区毛片淫片| 一本色道久久综合狠狠躁篇的优点| 91chinesevideo永久地址| 久久天天躁夜夜躁狠狠躁2022| 亚洲美女视频网| 亚洲美女在线看| 久久精品一区中文字幕| 午夜剧场成人观在线视频免费观看| 亚洲自拍高清视频网站| 欧美国产高跟鞋裸体秀xxxhd| 久久久久亚洲精品国产| 亚洲免费高清视频| 一区二区三区天堂av| 91老司机精品视频| www.日韩视频| 欧美精品videossex88| 91超碰caoporn97人人| 国精产品一区一区三区有限在线| 日韩久久精品成人| 久久国产精品久久国产精品| 亚洲偷熟乱区亚洲香蕉av| 久久这里只有精品99| 亚洲黄色有码视频| 亚洲欧洲日韩国产| 国产综合久久久久| 亚洲精品国产电影| 久久久久久国产免费| 日韩精品高清视频| 中文字幕欧美在线| 国产精选久久久久久| 欧美夫妻性生活xx| 欧美在线国产精品| 国产成人av网| 国产成人黄色av| 一区二区中文字幕| 日韩欧美在线第一页| 91视频国产精品| 国产亚洲精品久久久久动| 国产做受69高潮| 亚洲国产精品一区二区久| 45www国产精品网站| 久久精品电影网站| 岛国av一区二区在线在线观看| 亚洲精品色婷婷福利天堂| 亚洲性无码av在线| 97高清免费视频| 欧美亚洲日本黄色| 久久精品视频免费播放| 日本免费一区二区三区视频观看| 国产精品一区二区三区免费视频| 高清日韩电视剧大全免费播放在线观看| 欧洲成人午夜免费大片| 欧美亚洲日本网站| 日韩精品极品在线观看| 亚洲男人的天堂网站| www.久久色.com| 日韩在线免费视频观看| 亚洲福利在线播放| 国产精品丝袜久久久久久不卡| 国产成人福利夜色影视| 91精品国产九九九久久久亚洲| 日本精品久久久久影院| 日韩中文字幕在线视频播放| 97视频人免费观看| 国产视频精品xxxx| 国产日韩精品在线观看| 久久综合国产精品台湾中文娱乐网| 欧美激情按摩在线| 欧美综合激情网| 欧美激情第三页| 性欧美长视频免费观看不卡| 国产盗摄xxxx视频xxx69| 国产精品国产亚洲伊人久久| 亚洲无亚洲人成网站77777| 最近2019中文字幕mv免费看| 日韩美女福利视频| 日韩成人激情影院| 亚洲国产精品va在线观看黑人| 亚洲成av人影院在线观看| 成人国内精品久久久久一区| 亚洲日韩中文字幕| 欧美视频中文字幕在线| 亚洲最新av网址| 欧美国产日韩一区二区三区| 亚洲精品按摩视频| 国产精品最新在线观看| 国产精自产拍久久久久久蜜| 成人免费福利视频| 欧美日韩亚洲一区二区三区| 欧美精品生活片| 国产精品久久久999| 久久综合电影一区| 亚洲护士老师的毛茸茸最新章节| 日韩在线免费av| 久久久久北条麻妃免费看| 日韩欧美精品网站| 亚洲人成人99网站| 国产在线精品成人一区二区三区| 午夜精品理论片| 在线视频日本亚洲性| 国产精品福利在线观看| 国产欧美婷婷中文| 成人做爽爽免费视频| 日韩有码片在线观看| 欧美成人第一页| 国产成人自拍视频在线观看| 欧美性猛交xxxx乱大交| 欧美一区二区大胆人体摄影专业网站| 国产成+人+综合+亚洲欧美丁香花| 国产精品日韩专区| 欧美大片欧美激情性色a∨久久| 国产美女高潮久久白浆| 性金发美女69hd大尺寸| 亚洲成人黄色网址| 九色精品美女在线| 国产精品自产拍在线观看| 亚洲色图在线观看| 热久久视久久精品18亚洲精品| 性欧美激情精品| 国产精品在线看| 午夜精品福利在线观看| 成人免费淫片aa视频免费| 久久香蕉国产线看观看av| 国产视频久久久久| 久久久免费观看视频| 国内久久久精品| 中文日韩电影网站| 日韩精品亚洲元码| 中文字幕日韩免费视频| 日韩成人性视频| 亚洲肉体裸体xxxx137| 日韩亚洲在线观看| 日韩av电影在线播放| 亚洲欧美国产精品专区久久| 欧美一级视频一区二区| 国产精品免费福利| 亚洲欧美成人精品| 日韩中文字幕在线视频播放| 亚洲成人激情图| 国产99久久精品一区二区永久免费| 欧美色另类天堂2015| 国产精品久久久久久久久影视| 性欧美激情精品| 亚洲男人天堂网| 日韩av网址在线观看| 亚洲国产日韩欧美在线图片| 久久在线观看视频| 欧美在线亚洲一区| 日韩视频免费大全中文字幕|