指针做参数:传值,这个值是是指针所保存的地址数据。
注意:一个指针A,被作为函数参数AA时,A与AA代表的是两个不同内存区域的指针,但他们保存的数据是一样的,相当于AA重新开辟了内存空间(堆栈)来复制一份A的数据,所以修改AA不会影响A。这个在申请动态内存不能通过AA来更改A。
例子:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <Windows.h>
void Test(int *aa)
{
printf("aa的地址为:%x\n", &aa);
printf("aa保存的数据为:%x\n", aa);
}
int main(void)
{
int b = 10;
int *a =&b ;
Test(a);
printf("a的地址为:%x\n",&a);
printf("a保存的数据为:%x\n", a);
system("pause");
return EXIT_SUCCESS;
}