结构体中数组初始化

liyuan02 2006-11-25 11:18:25
请问怎么对下面结构体中数组a 进行 初始化 和操作 ? 谢谢
struct stu
{
int num;
int a[3][3];
float score;
struct stu *next;
} *boy1;

...全文
1294 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lj860603 2006-11-26
  • 打赏
  • 举报
回复
你定义的那个是结构体指针,不可以直接初始化,应该先分配内存空间后才进行初始化。

boy1 = (struct stu *)malloc(sizeof(struct stu)); //分配空间
//初始化

如果是结构体变量的话就可以直接初始化了(改了你的结构体,但道理一样):

struct stu
{
int num;
int a[2][2];
} boy1 = {10, 1, 2, 3, 4};

haroldi 2006-11-26
  • 打赏
  • 举报
回复
初始化可一次赋值:{{...},{...}...};
其他时候得逐个赋.
msgsnd 2006-11-26
  • 打赏
  • 举报
回复
struct AAA
{
AAA():a(10){}
int a;
int b;
};
youlvconlin 2006-11-26
  • 打赏
  • 举报
回复
/* 标准文档模板 */

#include "Stdio.h"
struct stu
{
int num;
int a[3][3];
float score;
struct stu *next;
} *boy1;
main()
{
int i,j;
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
(*boy1).a[i][j]=i*10+j; //逐个赋值
}
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d ",(*boy1).a[i][j]); //逐个输出
printf("\n");
}
}
youlvconlin 2006-11-26
  • 打赏
  • 举报
回复
gg_kk2009()
--------------------

for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
scanf("%d",(*p).a[i][j]);
gg_kk2009 2006-11-26
  • 打赏
  • 举报
回复
struct stu
{
int num;
int a[3][3];
float score;
struct stu *next;
} *boy1;
struct stu input(struct stu *boy1) \下面只是针对你的int a[3][3]数组进行赋值\
{struct stu *p;
p=boy1;
while(p.next!=NULL)
{for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
scanf("%d",p.a[i][j]);
p++;
}
reture(boy1);
}
lockhall 2006-11-26
  • 打赏
  • 举报
回复
指针分配内存时刻谨记.

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧