A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/algorithm/../numeric/../../c/language/alignof.html below:

_Alignof (since C11)(deprecated in C23), alignof (since C23) operator

Queries the alignment requirement of its operand type.

[edit] Syntax _Alignof( type-name ) (since C11)(deprecated in C23) alignof( type-name ) (since C23)

This operator is typically used through the convenience macro alignof, which is provided in the header <stdalign.h>

(until C23) [edit] Explanation

Returns the alignment requirement of the type named by type-name. If type-name is an array type, the result is the alignment requirement of the array element type. The type-name cannot be function type or an incomplete type.

The result is an integer constant of type size_t.

The operand is not evaluated (so external identifiers used in the operand do not have to be defined).

If type-name is a VLA type, its size expression is not evaluated.

[edit] Notes

The use of _Alignof(until C23)alignof(since C23) with expressions is allowed by some C compilers as a non-standard extension.

[edit] Keywords

alignof, _Alignof

[edit] Example
#include <stdalign.h>
#include <stddef.h>
#include <stdio.h>
 
int main(void)
{
    printf("Alignment of char = %zu\n", alignof(char));
    printf("Alignment of max_align_t = %zu\n", alignof(max_align_t));
    printf("alignof(float[10]) = %zu\n", alignof(float[10]));
    printf("alignof(struct{char c; int n;}) = %zu\n",
            alignof(struct {char c; int n;}));
}

Possible output:

Alignment of char = 1
Alignment of max_align_t = 16
alignof(float[10]) = 4
alignof(struct{char c; int n;}) = 4
[edit] Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C standards.

DR Applied to Behavior as published Correct behavior DR 494 C11 whether the size expression in a VLA is evaluated in _Alignof was unspecified it is unevaluated [edit] References
[edit] See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4