版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tiger_gy/article/details/88667551
C语言的多级指针
* int* p; int 类型的一级指针。 int** p2; int 类型的二级指针
* 二级指针变量只能保存一级指针变量的地址
* 有几个* 就是几级指针, int*** 三级指针
* 通过int类型三级指针 操作int类型变量的值 ***p
#include<stdio.h>
#include<stdlib.h>
/**
多级指针 数星星 有几个星就是几级指针 取值通过三级指针拿到最初的变量的值 ***point3
*/
main(){
int i = 123;
//int类型的一级指针
int* pointer = &i;
//int类型的二级指针 二级指针只能保存一级指针的地址
int** pointer2 = &pointer;
//int类型的三级指针
int*** pointer3 = &pointer2;
printf("***pointer3 = %d\n",***pointer3);
system("pause");
}
多级指针案例 取出子函数中临时变量的地址
#include<stdio.h>
#include<stdlib.h>
/**
main函数获取子函数中临时变量的地址
*/
function(int** pointer){
int i = 123;
*pointer = &i;
printf("i的地址%#x\n",&i);
}
main(){
int* pointer1;
function(&pointer1);
printf("pointer1的值%#x\n",pointer1);
system("pause");
}