Three important differences:

*   The first feature is the prototype - writing the parameter types as
    a part of the function declaration.  Prototypes make it easy for
    a compiler to check function use with definition.

*   Second feature is addition of new keywords -
        +   enum for enumerated types
        +   const
        +   volatile
        +   signed
        +   void

    And the 'entry' keyword was retired.

*   Third category is of "silent changes" - some features that still
    compiles, but now has a slightly different meaning.  For example,
    now that the preprocessing rules are more tightly defined, there's
    a new rule that adjacent string literals are concatenated.