C語言相關知識筆記

2021-08-31 20:15:24 字數 486 閱讀 2657

一、gcnew與new的區別

c /cli中使用gcnew關鍵字表示在託管堆上分配記憶體,並且為了和以前的指標區分,用^來替換* ,就語義上來說他們的區別大致如下:

1. gcnew返回的是個控制代碼(handle),而new返回的是實際的記憶體位址. 

2. gcnew建立的物件由虛擬機器託管,而new建立的物件必須自己來管理和釋放.

二、fflush(stdin)

清空輸入緩衝區,通常是為了確保不影響後面的資料讀取(例如在讀完乙個字串後緊接著又要讀取一 個字元,此時應該先執行fflush(stdin);)

三、scanf()與getchar()的區別

前者沒有'/0'結尾符,而後者有。

二、strcpy_s與strcpy

前者屬於系統安全函式,是以位元組為單位的引數,它用來確認緩衝區大小。

strcpy沒有方法來保證有效的緩衝區尺寸,所以它只能假定緩衝足夠大來容納要拷貝的字串。

C 語言 常量相關知識筆記

1.常量是一種識別符號,值在執行期間不變。2.c 語言可以用const定義常量和 define定義常量 稱為巨集常量 常量增加了程式的可讀性,使程式使用起來更加方便 如果程式中需要在多個地方改動字串或數字,容易出錯 使其不易出錯。盡量使用含義直觀的常量表示程式中多次出現的字串或數字,比如 defin...

C語言相關知識

在linux系統之中,eof根本不是乙個字元,而是當系統讀取到檔案結尾,所返回的乙個訊號值 也就是 1 linux中,在新的一行的開頭,按下ctrl d,就代表eof 如果在一行的中間按下ctrl d,則表示輸出 標準輸入 的快取區,所以這時必須按兩次ctrl d windows中,ctrl z表示...

C語言 指標相關知識小結

1.int p null 和 p null的區別 int p null指的是將乙個指標初始化為null,具體過程為 int p p null。2.a與a的區別 inta 5 int p a int q a 這樣的 對嗎?解釋 a得到陣列的位址。a表示陣列首元素的首位址。a的a的值一樣,兩個指向的位置...