程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 指針數組和數組指針

指針數組和數組指針

編輯:C++入門知識

數組在傳入函數的時候會退化成指針。 一維數組就直接退化成指針,二維數組退化成一個指向一維數組的指針,如char (*)[32]   可選方式: char a[ ][ ]; func(char b[ ], int rows, int cols); func(char (*b)[ ] ); 指針數組:array of pointers,即用於存儲指針的數組,也就是數組元素都是指針 數組指針:a pointer to an array,即指向數組的指針 int (*p)[10]; 定義了一個數組指針,這個指針與一般的指針沒有什麼區別,僅僅是這個指針指向一個數組。這裡我們把數組作為了基本的元素處理。也就是說,將整個數組作為一種類型,而數組名就是這個類型的一個具體變量。例如: int a[10]; 一個數組類型,形狀就是這樣:int [10]; a就是新定義的一個變量。   對於數組類型:int [10],我們可以定義一個指針,int (*p) [10].注意這裡一定要加上小括弧。否則就會變成了指針數組。定義了指針之後,我們可以對該指針賦值,如p=&a;如果定義了一個二維數組,int c[3][10]。我們可以認為定義了一個一維的數組,這個數組有三個int[10]的元素。因此和一般的數組一樣,我們可以將該數組名賦給指針,其實也就是第一個元素的地址付給指針。即: p=c;或者p=&c[0]。其余情況以此類推。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved