华南俳烁实业有限公司

考試首頁 | 考試用書 | 培訓(xùn)課程 | 模擬考場 | 考試論壇  
全國  |             |          |          |          |          |         
  當前位置:計算機等級 > 二級考試 > C語言程序設(shè)計 > C語言輔導(dǎo) > 文章內(nèi)容
  

全國計算機等級考試二級C語言入門教程(89)

中華IT學(xué)院   【 】  [ 2016年4月29日 ]

指針變量的運算
(1)賦值運算
指針變量的賦值運算有以下幾種形式:

①指針變量初始化賦值,前面已作介紹。
②把一個變量的地址賦予指向相同數(shù)據(jù)類型的指針變量。例如:
int a,*pa;
pa=&a; /*把整型變量 a的地址賦予整型指針變量 pa*/
③把一個指針變量的值賦予指向相同類型變量的另一個指針變量。如:
int a,*pa=&a,*pb;
pb=pa; /*把 a的地址賦予指針變量 pb*/
由于 pa,pb均為指向整型變量的指針變量,因此可以相互賦值。
④把數(shù)組的首地址賦予指向數(shù)組的指針變量。
例如: int a[5],*pa;
pa=a; (數(shù)組名表示數(shù)組的首地址,故可賦予指向數(shù)組的指針變量pa)
也可寫為:
pa=&a[0]; /*數(shù)組第一個元素的地址也是整個數(shù)組的首地址,
也可賦予 pa*/
當然也可采取初始化賦值的方法:
int a[5],*pa=a;
⑤把字符串的首地址賦予指向字符類型的指針變量。例如: char *pc;pc="c language";或用初始化賦值的方法寫為:
char *pc="C Language"; 這里應(yīng)說明的是并不是把整個字符串裝入指針變量, 而是把存放該字符串的字符數(shù)組的首
地址裝入指針變量。 在后面還將詳細介紹。
⑥把函數(shù)的入口地址賦予指向函數(shù)的指針變量。例如: int (*pf)();pf=f; /*f為函數(shù)名*/
(2)加減算術(shù)運算
對于指向數(shù)組的指針變量,可以加上或減去一個整數(shù)n。設(shè) pa是指向數(shù)組 a的指針變量,則
pa+n,pa-n,pa++,++pa,pa--,--pa 運算都是合法的。指針變量加或減一個整數(shù) n的意義是把指針指向的當前位置(指向
某數(shù)組元素)向前或向后移動 n個位置。應(yīng)該注意,數(shù)組指針變量向前或向后移動一個位置和地址加1或減1 在概念
上是不同的。因為數(shù)組可以有不同的類型,各種類型的數(shù)組元素所占的字節(jié)長度是不同的。如指針變量加1,即向后
移動1 個位置表示指針變量指向下一個數(shù)據(jù)元素的首地址。而不是在原地址基礎(chǔ)上加1。
例如:
int a[5],*pa;
pa=a; /*pa指向數(shù)組a,也是指向 a[0]*/
pa=pa+2; /*pa指向a[2],即pa的值為&pa[2]*/ 指針變量的加減運算只能對數(shù)組指針變量進行,對指向其它類型變
量的指針變量作加減運算是毫無意義的。(3)兩個指針變量之間的運算只有指向同一數(shù)組的兩個指針變量之間才能進行
運算, 否則運算毫無意義。

分享到:
本文糾錯】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復(fù)制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2006-2017 中華考試網(wǎng)(Examw.com) All Rights Reserved  營業(yè)執(zhí)照
阜平县| 吉林市| 微山县| 陇川县| 钟祥市| 顺平县| 怀来县| 宜章县| 柳林县| 延安市| 钟祥市| 介休市| 岢岚县| 河源市| 萍乡市| 太白县| 丽江市| 大港区| 奉贤区| 西昌市| 沙河市| 宝应县| 浏阳市| 乾安县| 湛江市| 太仓市| 丹阳市| 观塘区| 山阳县| 藁城市| 阿拉善左旗| 嘉祥县| 井冈山市| 南宁市| 宜丰县| 宜君县| 农安县| 武夷山市| 象州县| 勐海县| 紫阳县|