11 13 C語言 指向函式的指標

2021-06-19 04:28:15 字數 3353 閱讀 3710

今天的c語言學習分兩部分講吧,不過重點還是在指標上面!!就是隨便回顧了下前面一兩章學習的知識,為了方便這一部分內容的學習吧。那就先談一下回顧了哪一些知識吧。指標還是得慢慢來的,盡量全面的深刻的掌握它!(一部分一部分分解------就很好消化—完全-吸收)

那就仔細跟我回憶一下吧~~~~感覺記憶又加深了哦,嘻嘻。。。。以後還得回來看看,不過基本沒必要了的,因為它就相當於一加一等於。。。。。。。好了,開始吧

第一,運算子,作用不細說了哦~

<1>算術運算子 : + 、- 、* 、/ 、%(求餘或模運算) 、++ 、--

<2>關係運算子 : > 、< 、== 、>= 、<= 、!= 六種關係運算子

<3>邏輯運算子 :&& 、|| 、! 三種

<4>位操作運算子 :參與運算的量,按二進位制位進行運算,位與(&) 、位或(|) 、位非(~)、位異或(^) 、左移(<<) 、右移(>>) 六種

<5>賦值運算子 := 、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,...)  三類共11種

<6>條件運算子 :三目運算子(?:)

<7>逗號運算子 :用於把若干表示式組合成乙個表達(,)

<8>指標運算子 :用於取內容(*)和取位址(&)二種運算

<9>求位元組數運算子 :用於計算資料型別所佔的位元組數(sizeof)

這裡打個比方吧sizeof(2);

//2的型別為int,所以等價於

sizeof(

int);

sizeof(2+

3.14

);//

3.14

的型別為double,2也會被提公升成double型別,所以等價於

sizeof(

double

)

sizeof

有三種語法形式,如下:

1)

sizeof(

object

);//

sizeof(

物件);

2)sizeof(

type_name

);//

sizeof(

型別);

3)sizeof

object;

//sizeof

物件;<10>特殊運算子 :(),下標,成員(->,.)等幾種

第二,優先順序

<1>運算子優先順序 :運算子優先順序共分為15級。1級最高,15級最低

<2>運算子結合性 :

a:自左至右

b:自右至左

<3>強制型別轉換運算子:(型別說明符)(表示式)

<4>自增、自減運算子

a:++ii自增1後再參與其他運算

b:--ii自減1後在參與其他運算

c:i++i參與運算後,i的值再自增1

d:i--i參與運算後,i的值再自減1

第三,基本型別分類特點

字元型 char 1(位元組)

基本整型 int 2  (位元組)

短整型 short int 2(位元組)

長整型 long int4(

位元組)無符號型 unsigned  2 (位元組)

無符號長整型 unsigned long 4 (位元組)

單精度 float  4 (位元組)

雙精度 double8(

位元組)第四,常量字尾

l或l 長整型

u或u 無符號數

f或f 浮點型

第五,常量型別

整數、長整數、無符號數、浮點數、字元、字串、符號常量、轉義字元

下面才是今天我最重點學到的,記住啦。一點點來,就把它(指標)吞噬掉!!!

c語言中的指標變數可以指向乙個函式;函式指標可以作為引數傳遞給其它函式;函式的返回值可以是乙個指標值。 

1.指向函式的指標 

函式雖然不是變數,但是它在記憶體中占有實際位置。函式的首位址就是該函式的入口位址,它可以賦給指標變數,使得指標變數指向函式。利用指向函式的      指標變數,可以代替函式名,也可以作為函式的引數傳遞給其它函式。 

函式指標可以用如下形式說明:《型別》 (*指標變數名)(); 

例如:int (*funcp)(); 

表示funcp被定義為指向乙個返回值是整型量的函式。 

若函式指標被說明為:float (*funcp)(); 

則說明了funcp是乙個指向乙個返回值是浮點數的函式。 

以上說明中,第一對圓括號是必須要的,假如去掉,如int (*funcp)(),就變成了int *funcp(); 

按照運算子的優先順序,編譯程式把這個說明解釋為:funcp是乙個返回值為指向整型量指標的函式。 

這就與前面的解釋完全不同了。 

2.把指向函式的指標變數作為函式引數 

函式的指標變數作為引數傳遞到其它函式中,是函式指標的重要用途之一,其基本思想是:設有一函式func(p1, p2);有兩個形參p1和p2,它們被說明為指     向函式的指標變數。則在呼叫func()函式時,實在引數用f1和f2兩個函式名給形式引數p1和p2傳遞函式位址,這樣在函式func()中就可以呼叫函式f1和f2。如: 

f1() f2 

} main() 

func(p1, p2) 

int (*p1)(), (*p2)(); 

其中i和j是函式f1和f2所要求的引數。(*p1)(i)就等價於f1(i),(*p2)(i, j)等價於f2(i, j)。利用這一基本思想,實現了同一段程式呼叫不同的函式進行操作。 

3.返回值為指標的函式 

函式返回值可以是乙個指標。在函式定義時要指明,同樣在呼叫前也要對其進行說明。定義這種函式如同定義指標一樣,都是通過「*」來表示。一般說明形式為: 

《型別符》 *《函式名》 (《形引數》) 

(形引數說明部分) 

很明顯,需要注重的是,呼叫返回值是指標的函式之前,先要對其進行說明,這點必須明確知道!這一小部分就像是給我開了個門,我就更加易於理解指標的特性和本質了,好了今天就寫到這裡先吧,自己花時間在寫上面也是很多了,希望以後能越來越快,表達更加快而好,這樣子就是我之所以每天寫小結的目的了。通過這一兩天的練習,效果逐漸顯露了哦,所以不管當天多少,也要寫寫哦。這不關是一種態度也好,還是一種方法也罷,他都將是幫助你更好的學到更多更深刻的東西,。。。明天繼續加油吧。。。。

C語言 指向函式的指標

1 函式型別 函式指標變數 指向函式的入口位址 乙個函式是若干語句的集合 經編譯後儲存在函式 儲存區 並占有一片連續的儲存空間 對函式指標只能用函式名賦值而無其他運算 include stdio.h 23 intmax intx inty 45 intmain 617 18int max intx ...

C語言 指向函式的指標

在c語言中,函式名代表函式的入口位址。可以定義乙個指標變數,接收函式的入口位址,讓它指向函式,這就是指向函式的指標,也稱函式指標。通過函式指標可以呼叫函式,它還可以作為函式的引數。函式指標的定義 函式指標定義的一般格式為 型別名 變數名 引數型別表 型別名指定函式返回值的型別,變數名是指向函式的指標...

C語言指向函式的指標

定義形式 型別 指標變數名 引數列表 例如 int p int i,int j 在這裡 int是函式的返回型別,p是指向函式的指標,int i,int j 是函式的引數 注意 int f int i,int j int p int i,int j 前者是返回值是指標的函式 後者是乙個指向函式的指標。...