問c語言的void使用的問題,問一個c語言的void使用的問題?

2022-11-04 04:45:21 字數 1191 閱讀 9231

1樓:

c語言不允許其引數型別是 void,void代表沒有引數。

int foo(void a); 這樣的函式是錯誤的, 形參不能是void型別。另外你的程式還有其他錯誤:

#include

void g(int a1, char b) // a1後面的逗號換成英文的,半形的

char *g1(char p1)

void main()

2樓:

指向函式的指標就不說了

char *g1(char p1)

這個函式就不對,*str2是在子函式定義的,子函式結束的時候會析構,所以你return的str2是個野指標

3樓:匿名使用者

指向函式的指標定義錯誤,必須和函式的定義型別一樣,包括函式的引數型別,返回值型別和引數個數 ,改成這樣void (*fun_pointer)(int p0,char p1);

char (*fun_pointer2)(char p2);

4樓:匿名使用者

void g(int a1,char b)char *g1(char p1)

void (*fun_pointer)(void *p0,void p1);

void (*fun_pointer2)(void *p2);

其實沒明白你的意思,想用函式指標的話 應該這麼定義void (*fun_pointer)(int a1,char b);

char * (*fun_pointer2)(char p1);

5樓:匿名使用者

看不懂 第一個函式怎麼會在函式體給char型別的形參賦值?

6樓:

1、void 不是五返回值型別,而是「無型別」,即不是任何已經定義過的型別。再直白的說就是沒有,在函式名前面的意思就是不返回任何型別的資料

2、函式改變的不是引數本身,輸入引數是指標,參與運算的實際資料不是作為引數的指標,而是通過指標間接訪問的記憶體單元。就像中國移動通過銀行拿了你的錢,但沒拿銀行的錢(雖然其實他很想直接拿銀行的錢)

3、還是那句,作為引數的資料地址沒有變,只是地址裡的資料變了,「是否可以理解為「被呼叫」函式的計算結果的值返回到swap(&x,&y);」不要這麼牽強的去理解改變了的東西。就像銀行從不在乎中國移動要扣你多少錢,銀行只在乎你是否同意扣錢

問c語言指標問題,問一個c語言指標問題

不行,首先你要有一個陣列存放字母,然後這個二維陣列,行中表示下一個元素應該是a i j,你這樣寫的話就是跳到了下一行了,二不是下一個字母了,你需要知道指標只能指向已存在的物件。如果物件本身並不存在,那麼是無法指向的。你舉的例子裡,沒有說明 b 在哪個位置,從何指出b的地址呢。你要是想用p指向a的地址...

問非常簡單的C語言問題

第一個是初始化,第二個是錯誤的 下面兩種都是準確的 1 int a 2 int p a 2 int a 2 int p p a 第一個是定義時候初始化,第二個是賦值操作 你可以把int 看做是一個新型別 cccc在看看下面兩種情況 int a 2 或者int a a 2 這樣定義你要不懂就沒辦法了 ...

凶級c語言問題大大們幫幫我,小白級c語言問題,大大們幫幫我

int num,sum scanf d num sum 0 while num 0 printf d n sum vc 6.0下已通過,用12345測試的結果是15,程式如下 include include int fen int x,int y main int fen int x,int y w...