C 程序显示指针与指针之间的关系
cserver side programmingprogramming更新于 2024/11/5 14:59:00
在 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 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
示例
现在,考虑另一个 C 程序,该程序显示了指针与指针之间的关系。
#include<stdio.h> void main(){ //声明变量和指针// int a=10; int *p; p=&a; int **q; q=&p; //打印所需 O/p// printf("Value of a is %d
",a);//10// printf("Address location of a is %d
",p);//address of a// printf("Value of p which is address location of a is %d
",*p);//10// printf("Address location of p is %d
",q);//address of p// printf("Value at address location q(which is address location of p) is %d
",*q);//address of a// printf("Value at address location p(which is address location of a) is %d
",**q);//10// }
输出
当执行上述程序时,它会产生以下结果 −
Value of a is 10 Address location of a is 6422036 Value of p which is address location of a is 10 Address location of p is 6422024 Value at address location q(which is address location of p) is 6422036 Value at address location p(which is address location of a) is 10