/Zp (Struct Member Alignment)


For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.

For the latest documentation on Visual Studio 2017, see -Zp (Struct Member Alignment) on docs.microsoft.com. Controls how the members of a structure are packed into memory and specifies the same packing for all structures in a module.


When you specify this option, each structure member after the first is stored on either the size of the member type or n-byte boundaries (where n is 1, 2, 4, 8, or 16), whichever is smaller.

The available values are described in the following table.

Packs structures on 1-byte boundaries. Same as /Zp.

Packs structures on 2-byte boundaries.

Packs structures on 4-byte boundaries.

Packs structures on 8-byte boundaries (default).

Packs structures on 16-byte boundaries.

You should not use this option unless you have specific alignment requirements.

You can also use pack to control structure packing. For more information about alignment, see:

To set this compiler option in the Visual Studio development environment

  1. Open the project's Property Pages dialog box. For details, see How to: Open Project Property Pages.

  2. Click the C/C++ folder.

  3. Click the Code Generation property page.

  4. Modify the Struct Member Alignment property.

To set this compiler option programmatically

Compiler Options
Setting Compiler Options