C 函式指標

2022-11-29 13:56:07 字數 607 閱讀 8314

1樓:吳鐵騎

其實這部分就是c語言裡面的指標問題,是純的c語言,p = max; 就是乙個讓指標p指向函式max,於是max就是乙個指標函式,就是指標代表max函式,(*p)(a, b)就是用*p表示max函式,並沒有傳遞關係

2樓:

因為p、*p、**p等等

它們的位址都是一樣的,

你可以這樣列印出來看看:

printf("p = %p\n", p);

printf("*p = %p\n", *p);

printf("**p = %p\n", **p);

而我們利用函式指標的關鍵就是要將p指向乙個函式的位址,既然位址是一樣的,

那肯定是可以的啊。

3樓:匿名使用者

不論你怎麼寫,這裡最後都會被優化為(*p)(),其他的能執行,只是因為你的編譯器比較好,換成老一些的可能就不行了

4樓:

m = (*p)(a,b)和m = p(a,b)這兩種形式在教材上都見過,其他的沒見過,我試了一下,確實可以正常執行,第一種好理解,第二種可以認為是函式指標呼叫的固定形式,其他的不知道該怎麼解釋?

C語言這個F函式再指標C語言指標問題

28f為傳值呼叫。所以f中的修改不影響main中變數的值。輸出的還是原始值。即 4,3,5 選d29 a 4b a q b w q b q null a q 0 由於q已經賦值為null,再對 q賦值會引起程式崩潰。這個不對 b w p 指標間賦值,正確。c p a 也就是a a 正確。d p w ...

C語言指標函式替換字元

下面的程式可以把句子中所有的an都換成a。include main printf s n a 輸出字串要用 s 字串替換,需要兩層迴圈判斷 char replace char source,char sub,char rep 如果沒找到子串,下面複製source所指位元組到結果串 pc1 sourc...

C 中指標函式與返回指標的函式有什麼區別

1全部呵呵 指標函式與返回指標的函式是指的同乙個東西需要辨析的應該是 指標函式與函式指標有什麼區別?函式指標宣告為指標,它與變數指標不同之處是,它不是指向變數,而是指向函式。函式指標有兩個用途 呼叫函式和做函式的引數.乙個意思,倒是有乙個指向函式的指標和函式指標的區別 int put int,int...