关于二维数组和结构体

关于二维数组和结构体

二维数组:其实与一维数组类似,不过一维数组是吧许多个单个元素加上标号,比如a[0],a[1],a[2]…,我们使用时可以直接通过控制标号来实现对于数组中元素的控制,二维数组是将很多一维数组标号,比如我们定义a[3][10],可以看作定义了三个容量为十的一维数组。(其实二维数组再计算机中还是线性储存,并没有按照二维的方式存储),我们在使用二维数组的时候可以把它看作一个表格,第一个坐标代表行,第二个坐标代表列,这种把数据排列想像成表格的形式将方便我们的使用。
关于二维数组需要注意的事项:二维数组的初始化与一维数组类似,我们初始化一维数组和二维数组时分别会这样做:


    int a[10]={0};//如果这样初始化代表把第一个元素初始化为零,其余元素也默认变为零,需要注意的是如果不进行初始化这个数组会被填充满随机的数。
int b[3][10]={{0},{2,3,4}};//我们定义一个二维数组,外面的花括号代表的是初始化整个二维数组,里面的花括号可以看作是初始化二维数组中的“行"的,其规则与初始化一维数组相同。没有经过初始化的行会全部填充为零。

为了更清楚地表述,下面我们来举个例子。
int a[3][3]={{1},{2},{3}};
那么此时a的数据组成为 1 0 0
2 0 0
3 0 0
关于结构体;
首先我们要明确什么是结构体,结构体其实就是各种不同类型的数据集合在一起。
我们定义一个结构体 student,(一般我习惯把他放到主函数外面)。
定义结构体前缀 结构体名称
struct student{
char name[20];
int num;
};
至此我们完成了一个结构体的定义。
下面我来说一说结构体的使用。
我们前面所说的student在后面可以看作是一种数据类型(和int float等类似)。
在后面我们如果要定义一个学生a的话,可以直接 student a;
之后我们可以输入这个学生的姓名(char name[20])以及成绩(num);
但是如果定义很多学生的化这种方法又显得很困难,我们同样可以用类似与定义数组的方法来定义学生名单如 student a[30];
这样我们就一次定义出了30个学生的信息;
关于结构体中数据的引用和输入;
如果我们要引用出结构体中的元素(如name或num),形式是学生名a[i].num/name;
例如scanf("%d",&a[3].num); a[4].num=50;
结构体的初始化方法与数组类似;

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值