Introduction to the C99 Programming Language : Part III Last Updated : 12 Jul, 2025 Summarize Comments Improve Suggest changes Share Like Article Like Report Kindly read Introduction to the C99 Programming Language (Part I) and Introduction to the C99 Programming Language (Part II) before reading this article. Addition of Library Functions: C99 provides some Additional Library functions listed below. Library Function Usage complex.h complex.h supports complex arithmetic fenv.h fenv.h gives access to floating point tags and floating point environments. inttypes.h inttypes.h gives support to handle long numbers (larger width numbers).It defines a standard, portable integer names iso646.h iso646.h defines macros corresponds to operators like && and ^ stdbool.h stdbool.h supports boolean data types.It gives macros like bool, true and false. stdint.h stdint.h is included in inttypes.h header file.It gives standard, portable set of integer names. tgmath.h tgmath.h defines type-generic floating-point macors wchar.h wchar.h supports multibyte and wide character functions. wctype.h wctype.h supports multibyte and wide character classification functions. Addition of Format Specifiers: In C99 Standard, printf() and scanf() functions are modified in such a way that they have ability to handle modifiers long long and unsigned long long. The format specifier of long long int is ll and unsigned long long int is ul. The below sample program demonstrates the use of long long and unsigned long long values. C #include<stdio.h> int main() { long long int a=1121231456; unsigned long long int b=1124154632; printf("Long Number: %lld and" " Unsigned long: %llu", a, b); } __func__ Identifier: C99 adds __func__ identifier which returns the name of the function invoked as string. In simple, if __func__ is called in function fun1() then it returns the string fun1. Implicit int Declarations: In C89 standard, we don't need an explicit declaration of integer return type in functions i.e If we declare function_name(parameters), the compiler will assume the integer as default return type. In C99, All implicit function declarations are no longer supported. Some compiler will raise errors while some shows the same error as warning. GCC compiler shows that as a warning. Void Return Types: In C89 Standard, we can omit return values for functions. If we write int fun1() and execute it without specifying return value, the compiler will execute automatically by taking default return value. This value can either be 0 or garbage value. But in C99, If we write int fun1() without return statement in it then the compiler treats that as an error. Extended Integer Types: C99 standard gave several extensions to integer types. Extended Type Meaning int16_t Integer has exactly 16 bits int_least16_t Integer has at least 16 bits. int_fast32_t Fastest Integer types that has at least 32 bits. intmax_t Holds the Largest Integer Type uintmax_t Holds the Largest unsigned Integer Type These are generally used rarely. These are some of the major changes that include addition, change and deletion of features in C89 to get C99 Standard. Comment More infoAdvertise with us Next Article Introduction to Programming Languages A avsadityavardhan Follow Improve Article Tags : Programming Language C Language Similar Reads Introduction to the C99 Programming Language : Part II In this article, we are going to discover some more interesting additions to C89 which gave us C99 standard: Variable Argument Lists: C99 brings out a small changes to the preprocessor. Macros can accept a variable number of arguments. These Macros are indicated by ellipsis (...) in their declaratio 4 min read Introduction to the C99 Programming Language : Part I Introduction: C99 is a standardized version of the C programming language that was published in 1999 by the International Organization for Standardization (ISO). It introduced a number of new features and improvements over the previous C89 standard, including support for variable-length arrays, flex 8 min read Introduction to Programming Languages Introduction: A programming language is a set of instructions and syntax used to create software programs. Some of the key features of programming languages include: Syntax: The specific rules and structure used to write code in a programming language.Data Types: The type of values that can be store 13 min read C Programming Language Tutorial C is a general-purpose mid-level programming language developed by Dennis M. Ritchie at Bell Laboratories in 1972. It was initially used for the development of UNIX operating system, but it later became popular for a wide range of applications. Today, C remains one of the top three most widely used 5 min read C Programming Language Tutorial C is a general-purpose mid-level programming language developed by Dennis M. Ritchie at Bell Laboratories in 1972. It was initially used for the development of UNIX operating system, but it later became popular for a wide range of applications. Today, C remains one of the top three most widely used 5 min read C Language Introduction C is a general-purpose procedural programming language initially developed by Dennis Ritchie in 1972 at Bell Laboratories of AT&T Labs. It was mainly created as a system programming language to write the UNIX operating system.Main features of CWhy Learn C?C is considered mother of all programmin 6 min read Like