#include "stdio.h"
#include "stdlib.h"
#include "string.h"
//指针做函数参数
//可以用1级指针类似于*p去修改0级指针的值类似于a的值
//可以用2级指针类似于**p去修改1级指针的值类似于*p的值
//可以用n级指针类似于(n)p去修改n-1级指针的值类似于(n-1)p的值
int getLen(int *p)
{
*p = 40;
}
//指针的最大意义是在不同的函数里通过指针来修改指针所指向内存的值
//间接赋值的应用场景有2个
//在函数指针 *p++ = *p2++
//指针做函数参数,通过*p形参间接的修改实参的值,这才是指针翠在的最大意义 这才是C语言特有的现象,才是指针的精华
void main()
{
int a = 10; //通常是实参
int *p = NULL;//通常是形参
a = 20;//直接修改A的值
printf("a:%d\n", a);
p = &a;//实参地址传给形参
// *p = 30;
getLen(p);
printf("a:%d", a);
system("pause");
}
//间接赋值应用的三个条件
//条件1:一定了一个变量(实参)一个变量(形参)
//条件2:建立关联
//条件3:*p形参去简介的修改实参的值
//整个c/c++领域值得做技术推演的领域
//0--1指针 1->2级指针 2->3级指针
//c++的多态(函数指针做函数参数)
//Aop切面编程
08-12
07-12
08-27
07-24
07-24