#include <stdio.h>
char m[]="12345";
int test(char **FPt)
{
printf("m =%x \n",m);
*FPt=m;
}
void main()
{
char *t=0;
printf("t1 == %x \n",t);
test(&t);
printf("t2 == %x \n",t);
printf("%s\n",t);
}
// 运行结果:
[root@localhost tmp]# ./test2
t1 == 0
m =80496e4
t2 == 80496e4
12345
本文详细解析了一段使用C语言编写的程序在执行过程中的内存使用情况及变化,通过`main`函数调用`test`函数并传递指针参数,展示了程序如何在内存中读取和修改字符串数据。分析了程序执行前后内存地址的变化,并最终输出了修改后的字符串。此过程涉及C语言的基本语法、指针操作和内存管理。
1318

被折叠的 条评论
为什么被折叠?



