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 ...