C语言通过函数参数不能带出动态内存的例子。

时间:2023-12-05 17:20:32

实验结论:通过函数参数不能带出动态内存,函数参数虽然为指针,其实是在函数内部的临时变量,只是该指针的初始值是通过调用函数赋值的。C语言函数参数都是传值的。

#include <stdio.h>

void getversion(char *pcVer)
{
printf("\r\ngo in getversion \r\n");
printf("pcVer=0x%x &pcVer=0x%x \r\n", pcVer, &pcVer); pcVer = malloc();
printf("after malloc \r\n");
printf("pcVer=0x%x &pcVer=0x%x \r\n", pcVer, &pcVer); return ;
} int main()
{
char *pcVer = (char *)0x1000; printf("in main \r\n"); printf("pcVer=0x%x &pcVer=0x%x \r\n", pcVer, &pcVer); getversion(pcVer); printf("\r\nafter getversion(). \r\n"); printf("pcVer=0x%x. ", pcVer); return ;
}

运行结果如下:

C语言通过函数参数不能带出动态内存的例子。