我有一個函數會傳遞一個void指針。這個指針可以是int,char或float。我知道哪些數據類型將通過關聯值傳遞給我。例如,下面是我的職責是什麼樣子:查找char指針結尾,int和float
void * (int type, void * data);
如果我通過了空指針原是一個char類型,我將它轉換回char類型,有沒有確定多少字節的方式與那個指針相關聯?例如,如果我的函數被調用如下:
f(1, (void *)"Hello world");
,我投了空指針回到一個字符指針
char * p = (char *)data;
有一些方法可以讓我弄清楚了多少字節使用?我可能需要搜索空字符並計算它離原始指針有多少字節?我還需要做些什麼才能找到int和float的大小呢?
你需要一個3r參數,或者爲int和float記錄一個終結符值 – qPCR4vir