解释 C 编程语言中的指针数组和指针的指针的概念
指针数组
就像任何其他数据类型一样,我们也可以声明一个指针数组。
声明
datatype *pointername [size];
例如,int *p[5]; //它表示一个可以容纳 5 个整数元素地址的指针数组

初始化
‘&’用于初始化
例如,
int a[3] = {10,20,30};
int *p[3], i;
for (i=0; i<3; i++) (or) for (i=0; i<3,i++)
p[i] = &a[i];
p[i] = a+i;访问
使用间接运算符 (*) 进行访问。
例如,
for (i=0, i<3; i++)
printf ("%d" *p[i]);示例
#include<stdio.h>
main (){
int a[3] = {10,20,30};
int *p[3],i;
for (i=0; i<3; i++)
p[i] = &a[i]; //initializing base address of array
printf (elements of the array are”)
for (i=0; i<3; i++)
printf ("%d \t", *p[i]); //printing array of pointers
getch();
}输出
elements at the array are : 10 20 30
指针的指针
指针的指针是一个保存另一个指针地址的变量。
声明
datatype ** pointer_name;
例如,int **p; //p 是指针的指针
初始化
‘&’用于初始化。
例如 −
int a = 10; int *p; int **q; p = &a;
访问
使用间接运算符 (*) 进行访问。
示例
#include<stdio.h>
main (){
int a = 10;
int *p;
int **q;
p = &a;
q = &p;
printf("a =%d",a);
printf("a value through pointer = %d", *p);
printf("a value through pointer to pointer = %d", **q);
}输出
a=10 a value through pointer = 10 a value through pointer to pointer = 10
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP