先用c++來寫乙個helloworld的程式:
#include //預編譯指令
using namespace std; //編譯指令
int main() //函式頭
現在以第乙個c++程式引出一些最最最基本的概念。
c++有兩種注釋形式:
#include
語句是預處理指令。在c++中,使用乙個預處理器,該程式在進行主編譯之前,對原始檔中名稱以#
開頭編譯指令進行處理,且不需要任何特殊操作來呼叫預處理器,他在編譯時自動執行。
#include
編譯指令則將導致預處理器將***檔案中的內容新增到程式中來。因此,#include
表示在編譯時,引入iostram檔案中的內容。
通過#include
包含的檔案叫做標頭檔案,c++中自帶了許多標頭檔案。在c語言中,標頭檔案一般以.h
開頭,但在c++中則有所差異,具體表現為:
命名空間是c++的一項特性,可以避免出現同名變數、類等,從而導致編譯失敗,比如通過#include
引入兩個標頭檔案中都定義了乙個test()
函式,當使用這個函式時,編譯器將不知道指的是哪個版本,從而編譯失敗。因此可以將test()
函式定義在分別不同的命名空間中,使用時通過作用域符號指定,如:
namespace_a::test();
namespace_b::test();
可以通過using namespace
編譯指令引入命名空間,如第乙個程式中:
//引入std命名空間
using namespace std;
要引入命名空間時,通過using編譯指令引入,引入乙個命名空間後,就可以使用該命名空間中的定義了,如第乙個程式中的cout
和endl
是命名空間std中定義的物件。
通過using編譯指令using namespace std
可以引入std命名空間中的所有定義,但這是一種偷懶的做法,在大型專案中可能會引入其他問題,除了這種方式外,我們可以通過using宣告來引入命名空間中的單個定義,如:
using std::cout;
using std::endl;
using std::cin;
除了使用using編譯指令和using宣告之外,如果需要使用某乙個命名空間中的變數,則只能通過::
進行,如:
std::cout << "hello world" << std::endl;
因此,第乙個程式可以重新修改為以下兩種形式,其最終效果都是一樣的:
#include int main()
#include int main()
std是iostream檔案中定義的乙個命名空間,cout和endl是std中定義的兩個物件,因此,要使用std::cout,必須引入iostream檔案。
main函式是程式的入口,通常c++程式必須包含乙個main函式,不過main函式有很多的格式,如:
void main()
int main(void)
不過應盡量使用c++標準格式:
int main()
cout是std命名空間中定義的乙個ostream物件,用來處理輸出。為ostream定義的插入運算子<<
將使得資料插入到輸出流當中。
cin是std命名空間中定義的乙個istream物件,用來處理輸入。為istream定義的抽取運算子>>
將從輸入流中抽取資訊。
相比起c語言的printf()
和scanf()
函式,cout和cin都是智慧型物件,能夠根據程式上下文知道如何顯示字元、字串、數字。
endl也來自於std命名空間,表示重啟一行,和\n
的功能相同,不過有乙個差別:endl確保程式繼續執行前重新整理輸出。
宣告語句通常指出了要儲存的資料型別和該資料所需要的記憶體空間的大小。如:
int i; //表示申請乙個4個位元組的記憶體空間,用來儲存int型別資料。
函式原型是指宣告函式的語句。在使用函式前,c++編譯器必須要知道函式的引數型別和返回型別,因此c++中提供了函式原型語句。
函式原型之於函式就像變數宣告之於變數——指出涉及的型別,如:
int random(int i)
該函式原型則為:
int random(int);
一般函式原型都定義在標頭檔案中。 C語言 一 入門基礎
1.1.c語言搭建及system函式 1.2.c語言的基礎框架解釋 include include intmain main是程式的入口,作業系統啟動乙個程式,先找整個exe檔案中main的位置 main是函式名稱,搭配 才算函式 1.3.c程式變數 include include intmain ...
JNI入門之C C 基礎二
指標有型別,位址沒有型別 位址只是開始的位置,型別讀取到什麼位置結束 不同的型別讀取的位元組數不同 空指標的預設值為0 1 什麼是空指標 如果 p 是乙個指標變數,則 p 0 p 0l p 0 p 3 3 p 0 17 p null 中的任何一種賦值操作之後 對於 c 來說還可以是 p void 0...
JNI入門之C C 基礎五
聯合體 共用體 不同型別的變數共同占用一段記憶體 相互覆蓋 聯合變數任何時刻只有乙個成員存在,節省記憶體 聯合體變數的大小 最大的成員所佔的位元組數 union myvalue int x int y double z void main union myvalue d1 d1.x 90 d1.y ...