Interspersed Code and Declarations

Interspersed Code and Declarations

The two previous tips discussed new features that were added to C99, and which C++ doesn’t support. This time I would like to present one of the changes that were made to C99 in order to bring it closer to C++. C++ allows to you declare variables almost anywhere in a program. For example:

 int f(){ int n; cin>>n; int k; // OK, declaration after a code statement cin>>k;}

In C89, however, all declaration within a block must precede the first code statement. They must be grouped at a block’s beginning:

 int func(){ int n; scanf("%d",&n); int k; /*illegal in C89, declaration after a code  statement*/ scanf("%d",&k);}

This restriction was removed from C99. C now allows you to declare variables after code statements, just as in C++. Thus, the code of func() is well-formed in C++ and C99, but not in C89.

See also  10 Best Apps to Help You Read More Books in Less Time

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist