C 與資料結構學習之路

2021-09-24 19:30:34 字數 2353 閱讀 2561

argc指的是argument counter,它用來統計程式執行時傳送給main函式的命令列引數的個數,預設為1;

ar**指的是argument vector,它用來存放指向的字串引數的指標陣列,每乙個元素指向乙個引數。

各成員含義如下:

ar**[0]指向程式執行的全路徑名

ar**[1]指向在dos命令列中執行程式名後的第乙個字串

ar**[2]指向執行程式名後的第二個字串

ar**[3]指向執行程式名後的第三個字串

sizeof

(__int64)=8

;sizeof

(int)=

4;

typedef

int rank;

在這個型別定義之後,識別符號rank可作為型別int的縮寫,例如:rank a=1;

《是左位移運算子,左運算元的值向左移動右運算元指定的位數。

int a=

1; a=a<<

1或a<<=1;

//a=2

int

*p;//表示定義了乙個指標變數p,該指標變數儲存的位址中儲存的是乙個整型數

為指標賦值有兩種方法:

把某一變數的位址賦給指標變數(&為取位址運算子,一元運算子;空指標為null)

int

*p;int x; p=

&x;int

*p2=

null

;

將乙個指標變數賦給另乙個指標變數

int x=

1,y=2,

*p1=

&x,*p2=

&y; p1=p2;

指標變數的訪問: *為取指標指向的值的運算子,一元運算子

int x=3;

int*p=

&x; cout<<

*p;//3

通配指標型別void可以和任何型別的指標相互賦值

void

*p

常量限定符const(const在哪個語法單位前,限制的就是哪個部分)

const

int*p=

&x;//限定int的值x不能改變(指向常量的指標)

int*

const p=

&x //限定p的值不能改變(指標常量)

const

int*

const p=

&x //p和x都不能變

陣列名是乙個指標,且是乙個指標常量

int array[10]

=; cout<<

*array //1

cout<<

*(array+1)

//2

動態變數

int

*p; p=

newint

;*p=10;

//int

*p=new

int(10)

;int

*a; a=

newint[20

];//int

*a=new

int[20]

delete p;

//**

delete

p;//** if(

!p)//也可用assert(p!=0)

7、指標作為形參(swap函式)

void

swap

(int

*a,int

*b)

//c風格字串已'\0'結尾

char str1[6]

=;char str2[6]

="hello"

;char

*str3=str2;

const

char

*str4=

"hello"

;//c++風格沒有'\0'

string str5=

"hello"

;//相互轉換

string-

>

const

char

*:str4=str5.

c_str()

;

資料結構學習之路(一)

資料結構 是計算機學科的必修課程,涵蓋了計算機學科的演算法設計 數值分析 作業系統和編譯原理等課程所涉及的大部分相關演算法的實現。學好該課程,不僅對這些後續課程的學習有很大幫助,而且能在實際中發揮其廣泛的用途。想成為程式武林的高手嗎?快點跟我一起學學獨孤九劍 資料結構 1.1 資料結構 資料結構是指...

資料結構學習之路四

遞迴的玩法 遞迴的經典模型就是斐波那契數列和漢諾塔。具體的原理已經到處都是,我們直接從帶 開始看 斐波那契數列 public class fibonacci else if n 2 else 測試 public class testfibonacci 漢諾塔 所有的盤子剛開始都放在塔座a上,要求將所...

資料結構學習之路之迴圈佇列

佇列是一種先進先出的線性表,他只允許在表的一端進行插入元素,在另一端刪除元素。typedef struct sqqueuesqqueue 空隊 q.front q.rear 入隊 q.base rear x 出隊 x q.base front 存在的問題 設陣列的大小為m front 0 rear ...