C 學習筆記(一)

2021-09-24 09:43:52 字數 2676 閱讀 6773

為了自己的學習和之後不定時的查詢,自己做的整理。

1、初始化

vector不能像陣列那樣直接填寫元素內容,但可以間接利用陣列初始化。

vector<

int> a ;

//宣告乙個int型向量a

vector<

int>a(

10);//宣告乙個初始大小為10的向量

vector<

int>a(

10,1)

;//宣告乙個初始大小為10且初始值都為1的向量

vector<

int>

b(a)

;//宣告並用向量a初始化向量b

vector<

int>

b(a.

begin()

, a.

begin()

+3);

//將a向量中從第0個到第2個(共3個)作為向量的初始值

//用乙個非空陣列初始化vector

int n=

; vector<

int>

a(n, n+5)

;//將陣列n的前5個元素作為向量a的初值

vector<

int>a(

&n[1],

&n[4])

;//將n[1] - n[4]範圍內的元素作為向量a的初值

注:乙個vector的初始值可以用乙個陣列或乙個其他的vector初始化。vector不能像陣列那樣初始化全部值。

2、常用操作

//基本操作

vector<

int> temp;

//此時temp為空,不包含任何元素。可用push_back(m)直接增加元素m

temp.

size()

//返回vector的大小,即元素個數

temp.

clean()

//清空向量

//刪除操作

temp.

erase

(temp.

begin()

,temp.

begin()

+3)//將向量的前3個元素刪除,刪除的是區間[temp.begin(),temp.begin()+2]的內容,注意後面的指標要超出實際的區間。end()函式也是指向量最後乙個元素的後乙個位置。

//插入操作

temp.

insert

(temp.

begin()

,m)//在 temp.begin()處插入元素m,其他的元素依次向後移動一位。

temp.

insert

(temp.

begin()

,n,m)

//在 temp.begin()處插入n個元素m,其他的元素依次向後移動一位。

temp.

insert

(temp.

begin()

,temp.

begin()

+2,m)//在 [temp.begin(),temp.begin()+1) 處插入元素m,注意區間開閉。其他的元素依次向後移動一位。

//常用操作

temp.

back()

//返回最後乙個元素

temp.

front()

//返回第乙個元素

temp.

pop_back()

//刪除最後乙個元素

temp.

push_back

(m)//在最後增加乙個元素m

3、迭代器

看成指標,同時用法和指標類似。

//定義迭代器

vector<

int>

:: iterator iter = temp.

begin()

;//定義乙個指標iter只想向量的第乙個元素位置。

int a =

*iter ;

//提取迭代器iter位置處的值。

stack<

int> sk;

//定義棧。標頭檔案需要包含 stack

//入棧

sk.push

(m);

// 和vector之類的區分,這裡用的是push(),不是push_back();

//出棧

sk.pop();

//此時只刪除棧頂元素,不反悔值。

//訪問棧頂

sk.top();

//此時返回棧頂元素;

//其他操作

sk.empty()

// 判斷是否為空

sk.size()

// 返回棧元素個數

queue<

int> q;

//定義乙個佇列

q.push

(m);

//把m加到佇列中去

q.pop()

;//把隊頭的元素刪掉。不返回值

q.size()

;//返回元素的個數

q.empty()

;//判斷是否為空,空則返回1

q.front()

;//返回佇列的頭元素,但並不刪除它

q.back()

;//返回佇列的最後乙個元素,並不刪除它

c 學習筆記一

2007 9 4 引用,該型別的變數不直接儲存所包含的值,而是指向它所要儲存的值。c 的引用型別有四種 類 代表 陣列 介面。一下 表示類b從類 a中繼承 class a class b a 類的成員有以下型別 成員常量,代表與類相關聯的常量值。域,即類中的變數。成員方法,複雜執行類中的計算和其它操...

C 學習筆記 一

c 學習筆記 一 by heiyeluren 學習 visual c 入門經典 的個人筆記。1.函式的過載 函式過載提供了建立多個同名函式的能力。我們確定乙個函式是獨一無二的方法是通過三項方法,分別是是通過返回值的型別,函式名,函式 引數等三項內容。我們函式過載主要就是使用不同的引數來確定使用那個函...

C 學習筆記一

c中的記憶體分配方式 1.靜態儲存區域 在程式開始之前就可以分配,且在程式執行過程中始終存在 2.棧 儲存單元在其上分配,單元外自動釋放,多見內建 資料型別於此 3.堆 動態分配,即程式執行時分配此部分記憶體.由使用者分配且要負責釋放.生存期由使用者決定,不受範圍限制 stdlib.h提供mallo...