赞
踩
C++编译器会为每一个应用程序建立一个内存四区,主函数和被调函数公用一块内存四区。
main中可以在栈或者堆中分配内存,也可以在全局区分配内存
所以,这些变量可以被fa()和fb()使用(因为main函数还没执行完,不会被析构掉)
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
//堆
char *fb(int num)
{
char *p1= NULL;
p1 = (char *)malloc(sizeof(char)*num); //用户分配内存空间,由操作系统管理,函数结束后不会被析构掉
if( NULL== p1)
{
return NULL;
}
return p1;
}
void main()
{
char *tmp = NULL;
tmp = fb(10);
if( NULL==tmp )
{
return ;
}
strcpy(tmp,"233333"); //向tmp所指向的内存空间中copy数据
printf("tmp:%s.\n",tmp);
free(tmp);
system("pause");
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。