C與C 部分區別

2021-09-29 12:36:19 字數 811 閱讀 3913

1、struct的區別

定義結構體如下:

struct name

c引用時是 struct name a;

c++引用時是 name b;(可以忽略掉struct)

2、三目運算子的區別

c:((aerror

c++:((ature

對於c++相當於引用。

3、const的區別

對於c有以下特徵:

int const a ; 等價於 const int a ;---->a不可修改,指向a的指標可修改。

int const *a ;等價於 const int * a; ---->表示a可以修改,a指向的記憶體資料不可修改。

int * const a ;------>a不可修改,a指向的記憶體資料可修改。

const int * const a;---->兩者都不可以修改

對於c++:

假如 const int a ;-------->a不能被改變,也不能通過指標改變它。

----->c++用const把變數放到常量區的符號表,所以不能被改變。

綜合上述特性:

const int a=10;

c : int array[a]=;------------>error

c++ : int array[a]=;------------>true

4、列舉的區別

定義如下:

enum season

;c :enum season s; s=1; ----->ture

c++ :enum season s; s=1; ----->error

C與C 的部分區別

1.函式無形參情況 1 void test 25 6int main 7 在c語言中形參括號沒有引數時代表接受任意多的引數,而在c 語言中代表void 無引數 所以上述函式在c檔案中不會報錯,並且成功的呼叫,但是在c 中會報引數過多的的錯誤 2.結構體struct 在c語言中並沒有物件導向的概念,但...

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語言中...

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...