【C / C++】结构体数组与链表的存储方式演示(内存对齐示例)

本文介绍了C/C++中结构体的内存对齐规则,结构体内部成员按照8字节对齐,不足部分会被补齐。结构体数组存储连续,而作为链表节点时,地址通常不连续。编译器会依据目标平台自动选择对齐字节数,可通过#pragma pack调整。
摘要由CSDN通过智能技术生成
#include <algorithm>
#include <forward_list>
#include <iostream>
#include <string>

using namespace std;

using stunum_t = uint32_t;
using age_t = uint16_t;

const size_t NUM_OF_ENTRIES = 10;

struct personal_information {
   
	stunum_t student_number;
	wstring name;
	wstring gender;
	age_t age;
	wstring address;
};

struct personal_information s[NUM_OF_ENTRIES] = {
   
	{
    2020000001, L"刘一一", L"男", 18, L"上海市杨浦区江湾-五角场" },
	{
    2020000002, L"陈二", L"男", 17, L"广东省广州市海珠区琶洲站C出口保利世贸博展馆附近" },
	{
    2020000003, L"张三", L"男", 16, L"江苏省南京市栖霞区仙林大道" },
	{
    2020000004, L"Carol Bergling", L"Female", 18, L"Frescativägen, 114 18 Stockholm" },
	{
    2020000005, L"王小五", L"男", 18, L"不明" },
	{
    2020000006, L"赵六", L"女", 18, L"No. 2, Hsin Ann Rd, East District, Hsinchu City, Taiwan"},
	{
    2020000007, L"田七 aka Frank Tim-Cat", L"MTF", 17, L"22 Sze Mei Street, San Po Kong, Kowloon, Hong Kong" },
	{
    2020000008, L
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值