您的位置:首页 > 其它

关于数组指针,指针数组和字符串数组的一些问题

2017-03-14 14:51 323 查看
数组指针,本质是一个指针,是一个指向数组的指针。

指针数组,本质是一个数组,是一个其中每个元素都是指针的数组。

数组指针的定义: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是字符串长度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: