第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

具體如下,開(kāi)始定義的Func不是無(wú)形參的類(lèi)型函數(shù)指針類(lèi)型嘛? 謝謝~

具體如下,開(kāi)始定義的Func不是無(wú)形參的類(lèi)型函數(shù)指針類(lèi)型嘛? 謝謝~

胡子哥哥 2022-06-16 16:11:27
具體代碼如下:#include <stdio.h>#include <stdlib.h>typedef int (*Func)() ;int func0(int a);int func1(int a, int b);int func2(int a, int b, int c);int FuncPtrArrInit(Func *p, int n);int func0(int a){printf("Func:%s, a = %d\n", __func__, a);return 0;}int func1(int a, int b){printf("Func:%s, a = %d, b = %d\n", __func__, a, b);return 0;}int func2(int a, int b, int c){printf("Func:%s, a = %d, b = %d, c = %d\n", __func__, a, b, c);return 0;}int FuncPtrArrInit(Func *p, int n){Func fn[3];fn[0] = p[0];fn[1] = p[1];fn[2] = p[2];fn[0](0);fn[1](1,1);fn[2](2,2,2);return 0;}int main(){Func afn[3];afn[0] = func0;afn[1] = func1;afn[2] = func2;FuncPtrArrInit(afn, 3);return 0;}--------------------------------------------我的問(wèn)題就是開(kāi)始處,這個(gè)程序定義了typedef int (*Func)() ;即Func表示一個(gè)返回值為整型,無(wú)形參的函數(shù)指針類(lèi)型。但是下面賦值時(shí),func1,func2,func3每個(gè)函數(shù)的形參個(gè)數(shù)都不一樣,而且均是有形參的,但是上面的代碼就直接將這個(gè)函數(shù)地址給了Func類(lèi)型的數(shù)組afn[3]的各個(gè)成員,為何這樣能行?
查看完整描述

2 回答

?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊

type fun_name();
這種是老式的函數(shù)聲明,參數(shù)表是空的,即使有變?cè)?也不列出, 也就是說(shuō)可以接受任意參數(shù)
老式函數(shù)聲明是過(guò)時(shí)的,不應(yīng)在新代碼中使用,與c++也不兼容

c++中參數(shù)位置用void,或留空,都是沒(méi)有變?cè)?

而c中沒(méi)有變?cè)鞔_寫(xiě)void,
type fun(void);
留空的話(huà)可以填入任意參數(shù)

與老式聲明對(duì)應(yīng)的是老式的參數(shù)聲明方法
float f(a,b,ab)
int a,b;
char ab;
{/*...*/}

查看完整回答
反對(duì) 回復(fù) 2022-06-20
?
ABOUTYOU

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

這個(gè)是合法的,但具有不確定性,不推薦

查看完整回答
反對(duì) 回復(fù) 2022-06-20
  • 2 回答
  • 0 關(guān)注
  • 121 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)