相关疑难解决方法(0)

结构填料和包装

考虑:

struct mystruct_A
{
   char a;
   int b;
   char c;
} x;

struct mystruct_B
{
   int b;
   char a;
} y;
Run Code Online (Sandbox Code Playgroud)

结构的尺寸分别为12和8.

这些结构是填充还是包装?

什么时候进行填充或包装?

c struct structure packing padding

189
推荐指数
6
解决办法
25万
查看次数

为什么struct A的大小不等于具有相同字段的struct B的大小?

为什么尺寸struct A不等于struct B

而我需要做的是,它们的尺寸相同吗?

using System;

namespace ConsoleApplication1
{
    class Program
    {
        struct A
        {
            char a;
            char c;
            int b;
        }

        struct B
        {
            char a;
            int b;
            char c;

        }


        static void Main(string[] args)
        {
            unsafe
            {
                Console.WriteLine(sizeof(A));
                Console.WriteLine(sizeof(B));
            }
            Console.ReadLine();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

输出是:

8
12
Run Code Online (Sandbox Code Playgroud)

c#

9
推荐指数
3
解决办法
853
查看次数

标签 统计

c ×1

c# ×1

packing ×1

padding ×1

struct ×1

structure ×1