C++與數據結構學習之路

C++與數據結構學習總結

  1. 關於int main(int argc, char **argv)
    argc 指的是argument counter,它用來統計程序運行時發送給main函數的命令行參數的個數,默認爲1;
    argv 指的是argument vector,它用來存放指向的字符串參數的指針數組,每一個元素指向一個參數。
    各成員含義如下:
    argv[0]指向程序運行的全路徑名
    argv[1]指向在DOS命令行中執行程序名後的第一個字符串
    argv[2]指向執行程序名後的第二個字符串
    argv[3]指向執行程序名後的第三個字符串

  2. _int64 指8個字節長度的int:

sizeof(__int64)=8;
sizeof(int)=4;
  1. typedef:它可以爲類型取一個新的名字
 typedef int Rank;

在這個類型定義之後,標識符Rank可作爲類型 int 的縮寫,例如:Rank a=1;

  1. 位移運算符<<,>>
    <<是左位移運算符,左操作數的值向左移動右操作數指定的位數。

     int a=1; int a=a<<1或a<<=1;//a=2
  2. 指針變量:保存另一個變量地址的變量。

    int *p;   //表示定義了一個指針變量p,該指針變量保存的地址中存儲的是一個整型數
  3. 爲指針賦值有兩種方法:
    . 把某一變量的地址賦給指針變量(&爲取地址運算符,一元運算符;空指針爲NULL) 
           
            cpp         int *p; int x; p=&x; int *p2=NULL;
           
             2. 將一個指針變量賦給另一個指針變量
           
            cpp         int x=1,y=2,*p1=&x,*p2=&y; p1=p2;

     1. 把某一變量的地址賦給指針變量(&爲取地址運算符,一元運算符;空指針爲NULL)  
    
    ```cpp 
    int *p; int x; p=&x; int *p2=NULL; 
      ```
    
     2. 將一個指針變量賦給另一個指針變量
    
    ```cpp 
    int x=1,y=2,*p1=&x,*p2=&y; p1=p2;
     ```
     2、指針變量
    

的訪問
*爲取指針指向的值的運算符,一元運算符

```cpp int x=3; int *p=&x; cout<<*p;//3 ```
3、通配指針類型void可以和任何類型的指針相互賦值

```cpp void *p; ```4、常量限定符const(const在哪個語法單位前,限制的就是哪個部分)

```cpp const int *p=&x;    //限定int的值x不能改變(指向常量的指針) int *const p=&x  
//限定p的值不能改變(指針常量) const int *const p=&x    //p和x都不能變 ```
5、數組名是一個指針,且是一個指針常量

```cpp int array[10]={1,2,3,4,5,6,7,8,9}; cout<<*array  //1
cout<<*(array+1)   //2 ```6、動態變量

```cpp int *p; p=new int;
*p=10;//int *p=new int(10); int *a; a=new int[20];//int *a=new int[20] delete p;//回收 delete [] p;//回收 if (!p){//或if (p==NULL)或  if
(p==0) cout<<"allocation failure"; return 1;}//也可用assert(p!=0) ```
7、指針作爲形參(swap函數)

```cpp void swap(int *a, int *b){ int c=*a;
*a=*b;
*b=c; ```

(讓函數返回兩個解)

```cpp void func(int a, int *b, int *c); int a,x,y; func (a, &x, &y)
```8、引用類型

```cpp int i; int &j=i;//j和i用的是同一個地址,獲得了指針的效果 ```
引用傳遞(swap函數)(c++內置函數和這種算法相似)


```cpp void swap(int &a,int &b){ int c=a; a=b; b=c;} ```
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章