双指针或指向指针的指针是一个变量,用于保存另一个指针的地址。
以下是指向指针的声明-
datatype ** pointer_name;
例如,int ** p; p是指向指针的指针
初始化-'&'用于初始化。
例如,
int a = 10; int *p; int **q; p = &a;
访问-间接操作符(*)用于访问。
以下是指向指针的C语言程序-
#include<stdio.h>
main ( ){
int A = 10;
int *p;
int **q;
p = &A;
q = &p;
printf("A =%d",A);
printf("A value of pointer = %d", *p);
printf("A value of double pointer = %d", **q);
}执行以上程序后,将产生以下结果-
A=10 A value of pointer = 10 A value of double pointer = 10
它是一种指针,可以保存任何数据类型变量的地址(或可以指向任何数据类型变量的地址)。
以下是void指针的声明-
void *pointername;
例如,void * vp;
访问-类型转换运算符用于通过变量的指针访问变量的值。
语法如下-
* ( (type cast) void pointer)
例如,
int i=10;
void *vp;
vp = &i;
printf ("%d", * ((int*) vp));
type cast以下是void指针的C程序-
#include<stdio.h>
main ( ){
int i =10;
float f = 5.34;
void *vp;
clrscr ( );
vp = &i;
printf ("i = %d", * ((int*)vp));
vp = &f;
printf ( "f = %f", * ((float*) vp));
getch ( );
}执行以上程序后,将产生以下结果-
i = 10 f = 5.34