dcsimg
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

WEBINAR:

On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning


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