請問 void* (*函式)是什么意思 和 指標函式 void (*函式)有什么區別?
void * __cdec1 函式 是什么意思?__cdec1 是干嘛的??

uj5u.com熱心網友回復:
請問 void* (*函式)是什么意思 和 指標函式 void (*函式)有什么區別?這兩個都是函式指標,第一個回傳值是void*,第二個回傳值是 它丫的沒有回傳值
函式呼叫有三種方式
__cdecl 默認方式
__stdcall winAPI函式都是這個方式
__fastcall
至于三者區別,自己網上找找
https://www.cnblogs.com/yenyuloong/p/9626658.html
uj5u.com熱心網友回復:
牛逼 大神 謝了
uj5u.com熱心網友回復:
對于函式指標的相關內容,請參考《C++中的函式指標1》
《C++中的函式指標2》
希望能夠幫到您!
uj5u.com熱心網友回復:
//char (*(*x[3])())[5];//x是什么型別的變數?
//
//分析C語言宣告,關鍵是搞清楚這個變數是個什么東西(函式、指標、陣列),
//是函式那么剩下的就是他的引數和回傳值,
//是指標那剩下部分是說明他指向什么,
//是陣列剩下的部分就是說明陣列的成員是什么型別。
//決議C語言宣告規則:
//從左側第一個識別符號開始,按照優先級進行結合。*表示是..的指標,const表示只讀的,volatile表示可變的,[]表示是陣列,()表示是函式。
//
//x和[3]結合說明是一個大小為3的陣列,該陣列的每個元素為一類指標,該類指標指向一類函式,該類函式無引數,回傳一類指標,該類指標指向一個大小為5的char型陣列
#include <stdio.h>
#include <typeinfo.h>
char num[5];
char (*x00())[5] {
return #
}
int main() {
char (*(*x[3])())[5];//是個陣列,大小為3
char (*(*x0 )())[5];//陣列的元素,是個函式指標
char (*( x00 )())[5];//函式原型,引數為空,回傳值為指標
char (* x000 )[5];//回傳值
x0 = x00;
x[0] = x0;
x[1] = x0;
x[2] = x0;
printf("typeid(x).name() is %s\n",typeid(x).name());
return 0;
}
//typeid(x).name() is char (* (__cdecl**)(void))[5]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/232768.html
標籤:C語言
