解释 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

更新于: 2021年3月8日

1K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告