1樓:佴問
首先宣告下,我不是高手,只是和你分析下這個程式。
1、這句報錯是說:賦值符=前面沒有變數,就像寫 int = 8;原因一樣。
只要在前面寫個變數如: func1 pfun = &inc;就可以了。其實後面程式中沒有用到這條語句。
2、typedef int (*func1)(int in);這句話是定義指向一個函式的指標,返回值是int型。func1(int in)為函式原形。
3、原理同2。
4、func2 fun的意思是fun變數是一個指向func2函式形式的整形量。就像定義形參max(int a,int b)形式一樣。
最後順便說下,輸出printf("%d",arg2);中,arg2其實是一個地址,這個地址是main()中定義的 int a,a的地址。a的地址為0x0012ff7c,所以最後輸出結果為其十進位制形式,1245052.
希望你的問題已經得到解答。
2樓:匿名使用者
菜鳥路過,提供參考意見:
typedef int(*func1)(int in);
只定義了一個型別,沒有定義變數。
typedef int(*func2)(int*,int*,int*)
定義func2是一個引數為3個整形指標,返回值為整形數的一個函式指標型別。。。
func2是前面定義的型別,func2 fun 類似於int a.
哎!好幾年沒玩這個了。。。。
c語言一段程式的理解,c語言一段程式的理解
fwrite void buffer,size t size,size t count,file fp 表示將buffer地址開始的資訊,寫入count次,每次寫size位元組至檔案fp中,現在明白1的意思了?就是把 people i 開始的size字元寫入檔案fpo中,總共寫入1次 主要是看fwi...
暈C語言程式有錯誤,幫幫忙,暈 C語言程式有22個錯誤,幫幫忙。。。
1全部第一個錯誤 int x.n.p。定義多個變數時用逗號分開,你不小心用了點號。第二個錯誤 a i j 定義陣列時陣列的大小必須是確定的,如果你不知道要用多少,可以一開始定義大一點。如a 100 100 第三個錯誤 scanf d n 因為n是int型,輸入時用scanf d n 應該加取地址符。...
c語言程式解析,C語言程式解析
樓主給的東西不是很完整啊,看看是不是你要的結果。void init 遍歷時顯示每個結點的過程 void drawnode tree t,int color t t p c 號優先順序最高,i 1 時 t t 2 2009 1 2 2 s s t c 優先順序最高 以此類推 所以結果如下 11 2 i...