Top "C99" questions

This tag is for questions regarding the International Standard ISO 9899:1999, aka "C99", with technical corrigenda, and for questions about code written in C99 (as opposed to K&R C, C89 or later C Standard revisions like the 2011 revision C11).

How to tell GCC that a pointer argument is always double-word-aligned?

In my program I have a function that does a simple vector addition c[0:15] = a[0:15] + b[0:15]. The function prototype is: …

c gcc alignment c99
What does GCC __attribute__((mode(XX)) actually do?

This arose from a question earlier today on the subject of bignum libraries and gcc specific hacks to the C …

c attributes c99 bignum
Can I define variadic C preprocessor macros with __VA_ARGS in the middle instead of the end?

GCC complains if I do this: #define M(obj,met, ..., contents) obj##_##met(const void * self, __VA_ARGS__) { \ contents \ } Giving …

c gcc c-preprocessor c99 variadic-macros
Signedness of enum in C/C99/C++/C++x/GNU C/GNU C99

Is the enum type signed or unsigned? Does the signedness of enums differ between: C/C99/ANSI C/C++/C++…

c++ c enums c99 signed
Why are there digraphs in C and C++?

I learned today that there are digraphs in C99 and C++. The following is a valid program: %:include <stdio.…

c++ c c99 digraphs
Are prototypes required for all functions in C89, C90 or C99?

To be truly standards-compliant, must all functions in C (except for main) have a prototype, even if they are only …

c c99 c89
Literal string initializer for a character array

In the following rules for the case when array decays to pointer: An lvalue [see question 2.5] of type array-of-T which …

c string pointers arrays c99
Why is implicit declaration of gets() not allowed in C99?

I am starting to learn programming in C language the book I am refering to code shows some source code …

c clang c99 cs50 gets
DT_DIR undefined

I want to check if file returned by readdir is directory. I tried do it using DT_DIR constant (as …

c c99 readdir
Compatibility of C89/C90, C99 and C11

I just read: C Wikipedia entry. As far as I know there are 3 different versions of C that are widely …

c c99 iso c11 c89