c c 學習筆記二(2006 11 15)

2021-04-12 13:03:34 字數 1296 閱讀 1515

靜態與動態記憶體分配的兩個主要區別:

1、靜態物件是有名字的變數,我們直接對其進行操作。而動態

物件是沒有名字的變數,可通過指標間接地對它進行操作。

2、靜態物件的分配與釋放由編譯器自動處理。動態物件的分配

與釋放,必須由程式設計師顯式地管理,由new和delete兩個表示式

完成。new的兩個版本:

1、用於分配特定型別的單個物件。如:

int *point = new int ( 1024 );注:小括號

分配了一人沒有名字的int 型物件,物件初始值為1024。

2、用於分配特定型別和維數的陣列。如:

int *pia = new int[ 4 ]; 注:中括號

分配了乙個含有四個整數元素的陣列。

delete的兩個版本:

1、刪除單個物件

delete pint;

2、刪除乙個物件陣列

delete pia;

檔案的輸入輸出

#include

為了開啟乙個僅被用於輸出的檔案(即寫入),要先定義乙個ofst

ream(輸出檔案流)類物件

如:ofstream outfile("copy.txt",ios_base::out);

傳遞給ofstream建構函式的實參分別指定了要開啟的檔案

名和開啟模式。ofstream檔案可以被開啟為輸出模式(ios_base:

以輸出模式開啟。

下面的定義與上面的等價:

ofstream outfile("copy.txt");

區別:輸了模式下開啟已經存在的檔案,則所有儲存在該檔案中的

資料都將被丟棄。

附加模式下開啟已經存在的檔案,則新寫到檔案中的資料是

增加到瑞有檔案內容的尾部,而不會替換現有檔案內容。

注:如果用這兩種模式開啟的檔案不存在,則程式都會建立

乙個新檔案。

ifstream infile;

infile.open(filename.c_str());

如輸出:

#include

int main()

char ch;

while(cin.get(ch))

outfile.put(ch);

outfile.close();

}如輸入:

#include

int main()

char ch;

while (infile.get(ch))

cout.put(ch);

infile.close();

}

C C學習筆記

1.儲存型別 標準c語言為變數 常量 函式定義了4種儲存型別 extern,auto,static,register,它們分別用乙個關鍵字 儲存型別說明符 來說明。這4種儲存型別可分為兩種生存期限 永久的 即整個程式執行期間都存在 extern和static 和臨時的 即暫時儲存在堆疊和暫存器中 a...

C,C 學習筆記

1.求a的n次方 標頭檔案pow a,n a,n都為double 2.關於指標的一些小測試 includeusing namespace std int main int a 8 int m 3 cout 3.sort位於 algorithm 中,sort p,p n 預設公升序排列。4.inclu...

C C 高階學習筆記(二) 容器vector

vector可以理解為存放各種相同物件的容器,相當於乙個可變長的陣列,元素可以是各種物件 歡迎到 我的部落格 檢視更詳細的內容 包含標頭檔案 include 定義和初始化 vector ivec1 定義int容器 vector ivec2 ivec1 複製ivec1的內容到ivec2 vector ...