解释 C 语言中指针到指针和空指针的概念?
双指针或指向指针的指针是一个变量,它保存另一个指针的地址。
以下是指向指针的指针的声明:
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 *pointername;
例如,void *vp;
访问 - 类型转换运算符用于通过其指针访问变量的值。
语法如下:
* ( (type cast) void pointer)
例如,
int i=10; void *vp; vp = &i; printf ("%d", * ((int*) vp)); type cast
示例
以下是空指针的 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
广告