结构体中数组初始化

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

...全文
1346 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
  • 打赏
  • 举报
回复
指针分配内存时刻谨记.
内容概要:本文档为一份《计算机程序设计语言(C++)》课程的实验报告,涵盖了从基础语法到面向对象编程的多个实验内容。实验内容包括基础语法练习(如银行存款计算、数值比较、科学计算)、控制结构(分支与循环,如闰年判断、素数判定、Kaprekar黑洞数)、数组操作(一维与二维数组的排序、查找、极值计算、杨辉三角)、函数定义与应用(递归、参数传递、函数重载)以及面向对象编程(类与对象的设计、继承、多态性、文件操作)。文档详细展示了每个实验的任务描述、具体C++代码实现、测试结果及实验分析,体现了从简单到复杂、逐步深入的学习路径。; 适合人群:具备C++基础语法知识,正在学习或巩固程序设计课程的在校大学生及初级编程学习者。; 使用场景及目标:①作为C++课程的配套实验指导材料,帮助学生通过实践掌握编程基础知识和核心算法;②用于自学练习,提升对循环、数组、函数和面向对象等核心概念的理解与编码能力。; 阅读建议:学习者应结合文档的代码实例,动手在编程环境逐一实现并调试,重点关注代码逻辑、边界条件处理和算法效率,通过对比预期输出与实际输出加深对知识点的掌握。

70,038

社区成员

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

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