对结构体的数组成员进行初始化

数组作为结构体成员的初始化示例:

#include <stdio.h>
#include <stdlib.h>

typedef struct Month
{
	unsigned char a[3];
	unsigned char b[3];
}p_month;

void main()
{	
	p_month temp = {{1,2},{3,4,5}};
	printf("temp.a[0] = %d,temp.a[1] = %d,.temp.a[2] = %d\n", temp.a[0], temp.a[1], temp.a[2]);
	printf("temp.b[0] = %d,temp.b[1] = %d,temp.b[2] = %d\n", temp.b[0], temp.b[1], temp.b[2]);
	system("pause");
}

运行结果:

temp.a[0] = 1,temp.a[1] = 2,.temp.a[2] = 0
temp.b[0] = 3,temp.b[1] = 4,temp.b[2] = 5

————————
2019.05.14
23:18

### 初始化C++中的结构体数组 在C++中,可以通过多种方式来初始化结构体数组。一种常见的方式是使用点表示法逐个成员进行初始化。 #### 使用点表示法初始化单个结构体实例 当定义一个简单的结构体并创建该类型的对象时,可以利用构造函数或直接赋值来进行初始化: ```cpp #include <iostream> using namespace std; struct Point { int x; int y; }; int main() { Point p = {0, 0}; // 利用聚合初始化 cout << "Point coordinates: (" << p.x << ", " << p.y << ")" << endl; return 0; } ``` #### 创建和初始化结构体数组 对于结构体数组而言,在声明的同时也可以对其进行初始化。下面的例子展示了如何通过指定每个元素的具体数值完成这一操作[^1]: ```cpp #include <iostream> using namespace std; struct Rectangle { double width; double height; }; int main(){ const size_t SIZE = 3; Rectangle rectangles[SIZE] = {{2.5, 4}, {7.8, 9.6}, {3.1, 5}}; for (size_t i = 0; i<SIZE ;i++){ cout<<"Rectangle "<<i+1<<": Width="<<rectangles[i].width<<", Height="<<rectangles[i].height<<"\n"; } return 0; } ``` 上述代码片段说明了怎样在一个循环体内访问各个`Rectangle`对象,并打印它们各自的属性值。这里需要注意的是,如果希望在运行期间动态改变这些数据,则可以在程序执行过程中随时修改对应的成员变量。 另外,还可以采用更灵活的方法——即先声明未初始化结构体数组,之后再单独给每一个结构体分配具体的参数值。这种方式特别适用于那些需要基于某些条件逻辑才能决定具体取值的情况。 ```cpp // 继续上面的例子... for(size_t idx=0;idx<SIZE;++idx){ cin>>rectangles[idx].width>>rectangles[idx].height; } ``` 这段代码允许用户交互式地输入矩形尺寸的信息,从而实现更加个性化的配置过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值