C與C 的區別(1)

2021-08-22 19:09:51 字數 901 閱讀 2746

所謂namespace是指各種識別符號可見

和格式不一樣,前者沒有字首,實際上,在你的編譯器裡include可以看到這是兩個檔案,開啟檔案發現裡面的**是不一樣的,字尾.h在c++編譯器中已經明確提出不支援了,c++標準為了與c區分開,為了了正確使用命名空間,規定標頭檔案不允許字尾.h

使用時,相當於在c中呼叫庫函式,使用的是全域性命名空間,也就是早期的c++的實現

當使用時,該標頭檔案沒有定義全域性命名空間,必須新增namespace std; 這樣才能正確使用cout

1.在c中只有乙個全域性作用域

2.c語言中的全域性識別符號共享乙個作用域

3.識別符號可能會發生衝突

1.命名空間將全域性作用域分成不同部分

2.不同的命名空間可以同名但是不會發生衝突

3.命名空間可以相互巢狀

4.全域性作用域也叫預設命名空間

使用整個命名空間: using namespace name;

使用命名空間中斷變數: using name::variable;

使用預設命名空間中的變數::variable

預設情況下可以使用預設命名空間中的所有識別符號

#includenamespace namespacea

namespace namespaceb; }

}int main()

; printf("t1.name = %s \n", t1.name); =aaa

printf("t1.age = %d \n", t1.age); =33

return 0;

}

當使用的時候,標頭檔案沒有定義全域性命名空間,必須使用using namespace std; 這樣才能使用cout,如果不使用using namespace std; ,使用cout則需要std::cout

C 與C的區別

l c如果不寫返回值,預設是int,而c 中不能不寫返回值 可用void表示無返回值 如func1 l int func1 在c中表示可帶任意引數的函式,這是c的漏洞,使得它避開了引數型別檢查 而c 中表示不帶引數的函式。2 標頭檔案的區別 l c 的標頭檔案去掉了c中的.h,以c字首開始。比如,變...

C與C 的區別

1.void型指標 int x malloc sizeof int 10 在c裡面是合法的,但是在c 中編譯不通過。從bjarne stroustrup給出的解釋是這種型別是不安全的。就是說你可以使用乙個void型的指標指向任何位址,如果你分配了乙個位址給這個void指標指向另乙個與它型別不同的指標...

C與C 的區別

在很大程度上,標準c 是標準c的超集.實際上,所有c程式也是c 程式,然而,兩者之間有少量區別.下面簡要介紹一下最重要的區別.在c 中,民,區域性變數可以在乙個程式塊內在任何地方宣告,在c中,區域性變數必須在程式塊的開始部分,即在所有 操作 語句之前宣告,請注意,c99標準中取消了這種限制.在c中,...