二休傍、二維數(shù)組與指針
(1).二維數(shù)組元素在內存中的存放方式
C語言中扇丛,二維數(shù)組元素值在內存中是線性的绿映。跟一維數(shù)組相差無幾,所以也可用指針變量來訪問二維數(shù)組元素骂蓖。
eg:
# include <stdio.h>
void main(void)
{
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int *p=&a[0][0]; //將二維數(shù)組首地址賦給指針變量p
for (int i=0;i<9;i++)
{
printf("*p = %d\n",*p);//輸出二維數(shù)組中第i個元素值
p++; //指針變量p加1积瞒,指向下一個元素
}
}
輸出:1 2 3 4 5 6 7 8 9
(2).指針數(shù)組
指針數(shù)組(字符指針數(shù)組)通過二級指針初始化一級指針可以得到多種狀態(tài)
01、定義:指針數(shù)組的本質是數(shù)組登下,數(shù)組中每一個成員是一個指針茫孔。
定義char * pArray[10];pArray 先與“[ ]”結合叮喳,
構成一個數(shù)組的定義,char *修飾的是數(shù)組的內容,即數(shù)組的每個元素缰贝。
eg:char * pArray[] = {"apple","pear","banana","orange","pineApple"};
02嘲更、使用如下:
指針數(shù)組
(3) .二級指針訪問指針數(shù)組
char **p 是二級指針;
char * array[N]; array = &array[0]; array[0]本身是char *型;
eg :
以上面圖片的為例子揩瞪,引入代碼塊:
char **p = pArray;
while(*p)
{
printf("%s\n",*p++);
}