黑马程序员技术交流社区
标题:
指针数组
[打印本页]
作者:
靳小龙
时间:
2015-9-5 21:11
标题:
指针数组
指针数组中每个元素的值都为指针。一般的定义形式为:
数据类型 *数组名[数组长度];
用 pa 表示上面的二维数组:
int *pa[3] = { a[0], a[1], a[2] };
pa是一个指针数组,它有3个元素,每个元素值都是一个指针,指向整型变量。
【示例】指针数组的简单应用。
#include
<stdio.h>
int
main
()
{
int
a
[
3
][
4
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
}
;
int
*
pa
[
3
]=
{
a
[
0
],
a
[
1
],
a
[
2
}
;
//也可以不指定长度,写作 int*pa[]
int
*
p
=
a
[
0
];
//整型指针
printf
(
"%d, %d, %d
\n
"
,
a
[
1
][
2
],
*
a
[
1
],
*(*(
a
+1
)+
2
));
printf
(
"%d, %d, %d
\n
"
,
*
pa
[
1
],
p
[
2
],
*(
p
+2
));
return
0
;
}
运行结果:
6, 4, 6
4, 2, 2
pa是一个指针数组,三个元素分别指向二维数组a的各行。其中*a[1]表示1行0列元素值;*(*(a+1)+2)表示1行2列的元素值;*pa[1]表示1行0列元素值;由于p与a[0]相同,故p[2]表示0行2列的值;*(p+2)表示0行2列的值。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2