計算機(jī)二級C語言程序設(shè)計考點(diǎn):指針
指針與指針變量的概念,指針與地址運(yùn)算符。下面是小編為大家?guī)淼年P(guān)于指針的知識,歡迎閱讀。
1.在C語言中,指針是指一個變量的地址,通過變量的地址″指向″的位置找到變量的值,這種″指向″變量地址可形象地看作″指針″。用來存放指針的變量稱為指針變量,它是一種特殊的變量,它存放的是地址值。
2.定義指針變量的一般形式為:
類型名*指針變量1,*指針變量2,…;
″類型名″稱為″基類型″它規(guī)定了后面的指針變量中存放的數(shù)據(jù)類型,″*″號表明后面的″指針變量1″,″指針變量2″等是指針變量,″*″號在定義時不能省略,否則就會變成一般變量的定義了!逯羔樧兞1″,″指針變量2″等稱為指針變量名。
3.一個指針變量只能指向同一類型的變量。
4.與指針和指針變量有關(guān)的兩個運(yùn)算符:
(1)*:指針運(yùn)算符(或稱″間接訪問″運(yùn)算符)
(2)&:取地址運(yùn)算符
通過*號可以引用一個存儲單元,如有如下定義:
inti=123,*p,k;
則p=&I;或k=*p;或k=*&I;都將變量i中的值賦給k。
*p=10;或*&i=10;都能把整數(shù)10賦給變量i。這里,等號左邊的表達(dá)式*p和*&i都代表變量i的存儲單元。
2變量、數(shù)組、字符串、函數(shù)、結(jié)構(gòu)體的指針以及指向它們的指針變量
1.變量的指針和指向變量的指針變量。
2.數(shù)組的指針和指向數(shù)組的指針變量。
所謂數(shù)組的指針是指數(shù)組的起始地址,數(shù)組元素的指針是數(shù)組元素的地址。
C語言規(guī)定數(shù)組名代表數(shù)組的首地址,也就是第一個元素的地址。
3.字符串的指針和指向字符串的指針變量。
我們可以通過定義說明一個指針指向一個字符串。
C語言將字符串隱含處理成一維字符數(shù)組,但數(shù)組的每個元素沒有具體的.名字,這一點(diǎn)跟字符數(shù)組不一樣。要引用字符串中的某個字符,只能通過指針來引用:*(s+0),*(s+1),…,*(s+n)。
4.函數(shù)的指針和指向函數(shù)的指針變量。
指向函數(shù)的指針變量的一般形式為:
數(shù)據(jù)類型標(biāo)識符(*指針變量名)();
這里的″數(shù)據(jù)類型標(biāo)識符″是指函數(shù)返回值的類型。
函數(shù)的調(diào)用可以通過函數(shù)名調(diào)用,也可以通過函數(shù)指針調(diào)用(即用指向函數(shù)的指針變量調(diào)用)。
指向函數(shù)的指針變量表示定義了一個指向函數(shù)的指針變量,它不是固定指向哪一個函數(shù),而只是定義了這樣的一個類型變量,它專門用來存放函數(shù)的入口地址。在程序中把哪一個函數(shù)的地址賦給它,它就指向哪一個函數(shù)。在一個程序中,一個指針變量可以先后指向不同的函數(shù)。
在給函數(shù)指針變量賦值時,只需給出函數(shù)名而不必給出參數(shù)。因為函數(shù)指針賦的值僅是函數(shù)的入口地址,而不涉及到實參與形參的結(jié)合問題。
對指向函數(shù)的指針變量,表達(dá)式p+n,p++,p--等都無意義。
5.結(jié)構(gòu)體的指針與指向結(jié)構(gòu)體的指針變量
一個結(jié)構(gòu)體變量的指針就是該變量所占據(jù)的內(nèi)存段的起始地址?梢栽O(shè)一個指針變量,用來指向一個結(jié)構(gòu)體變量,此時該指針變量的值是結(jié)構(gòu)體變量的起始地址。指針變量也可以用來指向結(jié)構(gòu)體數(shù)組中的元素。
3用指針做函數(shù)參數(shù)
函數(shù)的參數(shù)不僅可以是整型、實型、字符型等數(shù)據(jù),還可以是指針類型,它的作用是將一個變量的地址傳送到另一個函數(shù)中。
4返回指針值的指針函數(shù)
一個函數(shù)可以返回一個整型值、字符值、實型值等,也可以返回指針型數(shù)據(jù),即地址這種帶回指針值的函數(shù),一般的定義形式為:
類型標(biāo)識符*函數(shù)名(形參表);
【計算機(jī)二級C語言程序設(shè)計考點(diǎn):指針】相關(guān)文章:
計算機(jī)二級C語言程序設(shè)計考點(diǎn):C語言的特點(diǎn)08-24
計算機(jī)二級C語言程序設(shè)計考點(diǎn):C語言的應(yīng)用08-24
計算機(jī)二級C語言程序設(shè)計考點(diǎn):函數(shù)08-23
計算機(jī)二級C語言程序設(shè)計考點(diǎn):數(shù)組08-23
計算機(jī)二級C語言程序設(shè)計考點(diǎn)解析:程序設(shè)計基本08-24