多级指针注意引用即可,主要的还是多级指针和动态内存之间的跨函数使用内存
//多级指针
//静态分配内存
#include "stdafx.h"
void f(int **a) {
**a = 100;
}
void g() {
int i = 10;
int *p = &i;
printf("赋值前i=%d\n", i);
f(&p);
printf("赋值后i=%d\n", i);
}
int main()
{
g();
return 0;
}
#include "stdafx.h"
#include "malloc.h"
//动态分配内存
void f(int **q) {
*q = (int *)malloc(sizeof(int));
//此时是动态分配的内存,是在堆中分配的内存。
//int i = 5;
//静态内存是在栈中的内存,此方法执行完毕,就会出栈
**q = 5;
}
int main()
{
//动态内存可以跨函数使用
int *p;
f(&p);
printf("---%d\n", *p);
getchar();
return 0;
}
网友评论