關於陣列指標,指標陣列和字串陣列的一些問題
阿新 • • 發佈:2019-02-12
陣列指標,本質是一個指標,是一個指向陣列的指標。
指標陣列,本質是一個數組,是一個其中每個元素都是指標的陣列。
陣列指標的定義:int (*p)[5] ;
指標陣列的定義:int *p[5] (或int *(p[5]));
陣列指標的用法:
#include <stdio.h>
void main(void)
{
//陣列指標的用法
int (*a1)[10];
int b[10] = {1,2,3,4,5,6,7,8,9,0};
a1 = &b;
printf("b = %d\n", *a1[0]);
}
指標陣列的用法:
#include <stdio.h> void main(void) { //指標陣列的用法 int *a2[10]; int b[10] = {1,2,3,4,5,6,7,8,9,0}; a2[0] = &b[0]; printf("b = %d\n", *(a2[0])); }
此外,若想定義一個字串陣列來存放字串並想用指標訪問它,可如下所示:
#include <stdio.h>
void main(void)
{
char a[10][10] = {"a","b","c","d","e","f","g","h","i","j"};
char *p[10];
int i = 0;
for(i=0;i<10;i++)
{
p[i] = a[i];
}
for(i=0;i<10;i++)
{
printf("a = %s\n", p[i]);
}
}
其中a[10][10]中,第一個10是字串個數,第二個10是字串長度。