C與C 的部分區別

2022-03-21 19:40:14 字數 810 閱讀 1757

1.函式無形參情況

1

void

test()25

6int

main()

7

在c語言中形參括號沒有引數時代表接受任意多的引數,而在c++語言中代表void(無引數)

所以上述函式在c檔案中不會報錯,並且成功的呼叫,但是在c++中會報引數過多的的錯誤

2.結構體struct

在c語言中並沒有物件導向的概念,但是c++中的類class衍生於c語言中的struct,所以,c++中的struct實質上為成員和函式全為public的類,也可以定義建構函式等

1

struct

test class test

2              int j;

}

3.const變數

c語言中const變數只是將變數變成唯讀變數,c++中const將變數變為常量(與define)相同,但是類成員中const成員是唯讀變數

唯讀變數與常量的區別,他們都不能直接修改,但是唯讀變數可以通過指向他的指標來修改他的值,而常量不准任何方式修改

1

const

int i=0;2

3int *p=(int *)&i;

45 *p=2;

c中可行,c++類成員變數可行,但是c++其他變數不可行

4.函式標識區別

c語言中通過函式名唯一標識函式,所以不存在函式過載,c++中通過函式名和引數列表來標識函式,所以函式名相同是可以的,即函式過載

ps:此隨筆長期更新

C與C 部分區別

1 struct的區別 定義結構體如下 struct name c引用時是 struct name a c 引用時是 name b 可以忽略掉struct 2 三目運算子的區別 c aerror c ature 對於c 相當於引用。3 const的區別 對於c有以下特徵 int const a 等價...

cin,gets,getchar 的部分區別

例項說明 includeusing namespace std int main char str 100 cin str cout 輸入 abc abc 輸出 abc include includeusing namespace std int main char str 100 gets str...

C語言和C 語言在語法上面的部分區別 2

c語言和c 語言在語法上面的部分區別 1 c語言的定義必須在最前面,c 可以在任何地方定義,比如 for int i 0 i 100 i s i 在c 中是正確的,但是在c語言中是錯誤的 2 型別強制轉換,c語言必須將型別括起來,c 可以將變數括起來。比如int a 在c 中是正確的,但是在c語言中...