當前位置:首頁 » 編程語言 » c語言中函數聲明必須帶參數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中函數聲明必須帶參數

發布時間: 2023-08-03 23:21:20

A. c語言中定義函數時,什麼時候必須定義形參,什麼時候可以省略,求指點~謝謝啦

函數聲明時只需寫出形參類型。

函數定義時必須寫出形參類型和變數名。

C語言中的標准函數printf便使用這種機制。在聲明不確定形參的函數時,形參部分可以使用省略號「…」代替。「…」告訴編譯器,在函數調用時不檢查形參類型是否與實參類型相同,也不檢查參數個數。

(1)c語言中函數聲明必須帶參數擴展閱讀

示例

例如:

void ConnectData(int i,...)

在上面的代碼中,編譯器只檢查第一個參數是否為整型,而不對其他參數進行檢查。

對於可變參數的函數,需要進行特殊的處理。首先需要引用 <stdarg.h> 頭文件,然後利用va_list類型和va_start、va_arg、va_end 3個宏讀取傳遞到函數中的參數值。

這幾個宏的定義如下(在 ANSI C 中):

type va_arg( va_list arg_ptr, type );

void va_end( va_list arg_ptr );

void va_start( va_list arg_ptr, prev_param )。

B. 為什麼有些函數聲明時沒有參數

你指的是C語言中的函數聲明時沒有參數名嗎?
函數聲明可以只有參數類型而沒有參數名,參數名和定義時的參數名不同也是允許的。因為C編譯器在編譯時忽略參數名,只檢查函數的參數的類型和順序是否與調用的函數匹配。

C. c語言帶參數函數的原型聲明

void show_n_char(char,int) 如果是在c++是合法的,char, int 是友元,表示只有參數類型無參數變數名,但在c 語言中這樣寫不規范, 要寫成:void show_n_char(char ch,int a)
此處為形參, 實際使用中要用實際參數傳入。 如 調用該函數時,傳入實參
show_n_char('d', 4);
char,int賦值給誰??? 這樣看你的函數定義中是怎樣使用這參數的。

在該函數中 ch='d' , int =4 ,
void show_n_char(char ch,int a)

char ch2=ch;
int b =a
printf ("");

則 ch2='d' , b=4
不知可看懂?