C語言指標和數組知識總結(下)

來源:互聯網
上載者:User

一、數組指標:數組指標就是一個指標,只不過它指向的是一個數組.可以通過如下方式來定義  typedef int Array[5]; //數群組類型Array* m;      //數組定義還有一種更為簡潔的寫法:int (*m)[10];    二、指標數組:所謂的指標數組就是一個數組,只不過數組元素是指標,可以通過如下方式來定義  int* m[10];  三、數組指標的執行個體   

#include <stdio.h>      int main()  {    int a[5] = {1,2,3,4,5};    typedef int(IArray5)[5];    IArray5* n = &a;     int (*m)[5] = &a;        for(i = 0; i < 5;i ++)    {      printf("%d \n",a[i]);    }        for(i = 0; i < 5;i ++)    {      printf("%d \n",(*m)[i]);    }    for(i = 0; i < 5;i ++)    {      printf("%d \n",(*n)[i]);    }        }  

 

 分析列印結果如下    四、所謂二維數組  1.C語言中不存在所謂的二維或者更高維次的數組,因為在記憶體中都是線性分布的,所以都是一維數組.二位元組的數組名代表的就是一個數組指標,只不過這個指標指向的是一個數組.2.二維數組的一個執行個體 
#include <stdio.h>      int main()  {    int array[5][5] = {      11,12,13,14,15,      16,17,18,19,20,      21,22,23,24,25,      26,27,28,29,30,      31,32,33,34,35      };        int* p1 = (int*)(&array + 1);    int* p2 = (int*)(*(array + 1) + 6);        printf("result = %d, %d, %d, %d ,%d  \n",(*(*array)),(*(*array) + 4),(*(*(array + 4))),p1[-4],p2[-1]);        }  

 

  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.