Difference between C and Ansi C

Main difference: C was originally developed by Dennis Ritchie at AT&T Bell Labs between 1969 and 1973. It has a free-format program source code. C is a general-purpose programming language. C is one of the oldest currently used programming languages and is one of the most widely used programming languages. ANSI C is a set of successive standards which were published by the American National Standards Institute (ANSI) for the C programming language. The ANSI specifies the syntax and semantics of programs written in C.

Some other differences between C and ANSI C:

  • ANSI C allows the inclusion of a function prototype which gives the type of the function and the type of each parameter before defining the function.
  • In C, function declarations are assumed by default to be of type int. Hence, integer type functions need not declared at all.
  • In C, function headers have different syntax.
    Function prototypes must be declared without a list of arguments and types, and consist of the type, function name and an empty set of parentheses.
  • C converts all float types in an expression to double precision types.
  • The type signed char is not available in C, but is in ANSI C.
  • In C, type void is not available.
  • In C, functions are assumed to return integer if they return nothing.
  • Many old C compilers expect that the first character of a preprocessor directive line is a #. No leading white space is allowed.
  • In C, the signed type qualifier is not available.
  • In C, the unsigned qualifier can be used to qualify integer types only.
  • In C, the unary positive sign is not allowed.
  • In C, the type long double is not available.
  • In C, the const qualifier is not available.
  • In C, enumeration type is not available.
  • Automatic arrays cannot be initialized in declarations in C. Only external and static arrays can be initialized.
    Automatic structures and arrays of structures cannot be initialized in declarations in C.
  • In C, Some old compilers may not allow references to entire structures, requiring the use of structure pointers or individual structure members.

You've successfully subscribed to Developer Insider
Great! Next, complete checkout for full access to Developer Insider
Welcome back! You've successfully signed in
Success! Your account is fully activated, you now have access to all content.