讨教怎么样为C语言的结构体数组分配/释放内存?谢谢
struct emp
{
char name[10];
float salary;
};
int main(int argc,char* argv[])
{
struct emp array_emp[1000000];
解决方案
2
http://blog.csdn.net/q345852047/article/details/7348038
30
#include
#include
#include
#include
struct emp {
char name[10];
float salary;
};
int main() {
struct emp *array_emp;
array_emp=malloc(1000000*sizeof(struct emp));
if (NULL==array_emp) {
printf("Can not malloc 1000000 emp!\n");
return 1;
}
strcpy(array_emp[999999].name,"123456789");
array_emp[999999].salary=50000.0f;
free(array_emp);
return 0;
}
1
第12行array_emp=malloc(1000000*sizeof(struct emp));
应改为
array_emp=(struct emp *)malloc(1000000*sizeof(struct emp));
1
也许PRO*C和标准C不同。每弄过PRO*C,爱莫能助。
#include
#include
#include
#include
struct emp {
char name[10];
float salary;
};
int main() {
struct emp *array_emp;
int i;
array_emp=(struct emp *)malloc(1000000*sizeof(struct emp));
if (NULL==array_emp) {
p