关于C顺序存储结构的问题
#include<stdio.h>typedef struct {
int b[10];
int c;
}g;
int initiate(g m)
{
m=(g)malloc(10*sizeof(int));
return 0;
}
main()
{
int i,j,m;
g f;
f.c=8;
initate(f);
for(i=0;i<f.c;i++)
scanf("%d",f.b[i]);
}
到底怎么才能给它赋予内存地址
----------------解决方案--------------------------------------------------------
int initiate(g m)
{
m=(g)malloc(10*sizeof(int));
malloc(10*sizeof(int))返回值是个地址,你得类型不对
m是结构变量
----------------解决方案--------------------------------------------------------
那要怎么写 才能跟它分配内存地址
----------------解决方案--------------------------------------------------------
我们的书上没介绍怎么给它分配内存地址 难道要用指针给其分配
----------------解决方案--------------------------------------------------------
int initiate(g *m) //m为指向结构得指针
{
m=(g*)malloc(10*sizeof(int));//这样就匹配了,不过应该用malloc(sizeof(g))
return 0; //吧,不知道你什么意思
----------------解决方案--------------------------------------------------------
那我要初始化C 那怎么初始化
----------------解决方案--------------------------------------------------------
还在不
----------------解决方案--------------------------------------------------------