C 語言 整理9

來源:互聯網
上載者:User

標籤:編譯器   空間   作業系統   

 //定義一個指標變數 , 和定義整型變數類似,也包括三部分:資料類型 變數名 =  初值
    //只不過指標變數用來儲存地址而已.
    //int  * 指標變數類型 , p 指標變數名 , NULL 指標變數初值.
    //int  的作用 : 1,當自增時增加幾個位元組,2,當存取資料時一次性讀取幾個位元組.
    // 定義時 , * 告訴編譯器,後面的變數是一個指標變數;
   
    int  * p = NULL ;
    
    //指向關係
    p = &a;  //將a 的地址賦值給p .
    
    printf("%d\n", a);  //直接存取 記憶體單中繼資料
     // * p 此時的作用是根據指標變數儲存的地址,找到對應的記憶體單元,將記憶體單元上的資料讀取出來.
    
    printf("%d\n", *p); //間接訪問 /間接訪問記憶體單中繼資料
    
    * p =20 ;
    printf("%d\n", a);
    printf("%d\n", *p);
    //對於指標變數類型,所規定的儲存空間的大小隻和作業系統有關,32位是4個位元組,64位是8個位元組.

 int * p1 = NULL;
//    //賦初值為NULL , 讓指標變數指向一個無效的空間.
//    //當對p1 指向的空間進行操作時,p1 必須指向一個有效空間.
//    p1 = & b;
//    *p1 = 50 ;
//     printf("%d\n" , *p1);
//    int c = 30 ;
//    p1 = & c ;
//    //指標變數的重新賦值,我們叫做指標重指向 ,只看最後一次指向.
//    printf("%d\n" , *p1);

    //Incompatible pointer types assigning to ‘int * ‘
    //incompatible 類型不符....
    //Thread 1 : EXC_BAD_ACCESS (code = 1 , address = 0x0)
    //沒有指向一個有效空間.  奔潰 crash
    
    
   //指標與數組
//    
//    int a [ 5] = {10,11,12,13,14};
//    
//    int  * p = NULL;
//    //讓p指向數組的首地址 (數組名 a 就代表數組的首地址 , 代表數組中第一個元素的地址).
//    p = a;  //
//   // printf("%d \n" , *p);
//  //  p ++ ;
//    for (int i = 0 ; i < 5 ; i ++) {
//        printf("%d  " , *(p + i)); //printf("%d  " , *(a + i));
//    }
//    printf("\n");
//    //當把數組的首地址賦給指標變數p之後,指標變數就可以當做數組名來使用.
//    //數組名是一個常量不可對其更改.


 //指標數組.(數組中的內一個元素都是一個指標變數).
    char str [] = "Frank";
    //字元數組str 需要儲存字元,所以把常量區中Frank 字串的內容拷貝到數組中. 通過數組操作操作的是棧區的內容.
    //而對 數組a 來說,數組中的每一個元素都是一個字元型的指標變數,指標變數用來儲存地址,所以將常量區中Frank , Duck ,iPhone 的開始地址拷貝到對應的變數中通過指標操作操作的是常量區的內容.
    char * a [3] = {"Frank","Duck","iPhone"};
     ////常量區的內容不可更改.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.