C 學習隨筆

2021-10-06 01:24:19 字數 1105 閱讀 4017

1.strlen()方法:#include 不含 strlen() 方法,若要使用應當引入 標頭檔案

2.vs調整字型大小:ctrl+shift+ >或<

3.控制輸出的精確度:#include

4.程式執行出現「燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙…」: 這種亂碼最常見的地方是visual studio裡。

visual studio中,未初始化的棧空間用0xcc填充,而未初始化的堆空間用0xcd填充。

而0xcccc和0xcdcd在中文gb2312編碼中分別對應「燙知」字和「屯」字。

如果乙個字串沒有結束符』\0』,輸出時就會列印出未初始化的棧或堆空間的內容。

解決方案:在使用陣列前,先百把字元陣列用『\0』初始化

char t[

100]

=;

5.struct 和 class 區別:struct預設許可權為public,class預設許可權為private

6.string轉int方法:採用標準庫中atoi函式,對於其他型別也都有相應的標準庫函式,比如浮點型atof(),long型atol()等等

std::string str =

"123"

;int n =

atoi

(str.

c_str()

);cout

7.push_back()函式:在陣列或字串最後新增乙個元素(引數為要插入的值)

string str2;

cin>>str2;

string s2;

for(

; str2[i]

!='/'

; i++

)

8.生成陣列時沒賦初始值的問題

全域性變數如果bai沒有初始du化,會自動初始化為0

區域性變數在棧中,初值是未知的,計算機隨機附的值的位址,不斷變化(一般是0xcccccccc)

若int arr[5] = ;陣列已經手動初始化為

C 學習隨筆

過載 通過函式過載實現類的多型特性,其特徵 1 同一作用域內 同一類中 2 相同的函式名。3 引數與返回型別不同 僅返回型別不同,不是過載函式。4 virtual關鍵字不影響。覆蓋 通過函式覆蓋實現類的繼承特性,其特徵 1 不同作用域 非同一類中 2 函式名 引數都相同。3 基類中的函式須有virt...

C 學習隨筆

1.引用必須在宣告時初始化,並且初始化後不能改變其值,類似於是乙個指標常量,而指標可以先宣告再初始化,並且指標指向的值可以隨時改變。2.如果帶引數列表的函式,必須從右向左新增預設值,也就是說如果函式引數列表中某乙個引數設定為預設值,那麼其右的所有引數必須提供預設值 int test int a,in...

c 學習 隨筆五

1 c stl中提供了順序容器和關聯容器。vector,list,deque為順序容器 map,set,multiset,multimap為關聯容器。其中每種容器均提供預設的建構函式來初始化容器物件。vectorstr 5 在這句 中,首先容器使用string的預設建構函式建立了乙個臨時值來建立容器...