Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Intermediate
Oct 31, 2000

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.

Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date