Defines a macro, Computer Engineering

Assignment Help:

Defines a macro

Defines a macro with the given name, having as its value the given replacement text. After that (for the rest of the current source file), wherever the preprocessor sees that name, it will replace it with the replacement text. The name follows the same rules as ordinary identifiers (it can contain only letters, digits, and underscores, and may not begin with a digit). Since macros behave quite differently from normal variables (or functions), it is customary to give them names which are all capital letters (or at least which begin with a capital letter). The replacement text can be absolutely anything--it's not restricted to numbers, or simple strings, or anything.

The most common use for macros is to propagate various constants around and to make them more self-documenting. We've been saying things like

char line[100];

...

getline(line, 100);

but this is neither readable nor reliable; it's not necessarily obvious what all those 100's scattered around the program are, and if we ever decide that 100 is too small for the size of the array to hold lines, we'll have to remember to change the number in two (or more) places.

A much better solution is to use a macro:

#define MAXLINE 100 char line[MAXLINE];

...

getline(line, MAXLINE);

 


Related Discussions:- Defines a macro

Draw a neat labelled diagram of the osi reference model, Draw a neat labell...

Draw a neat labelled diagram of the OSI reference model for computer networks showing all the layers and the communication subnet boundary. The computer network consists of all

Explain the edge-triggered j-k flip-flop, Explain the Edge-triggered J-K fl...

Explain the Edge-triggered J-K flip-flop? The J-K flip-flop works extremely similar to S-R flip-flop. The merely difference is that this flip-flop has NO invalid state.

Explain non-adapting routing, Explain non-adapting routing. Systems whi...

Explain non-adapting routing. Systems which do not implement adaptive routing are explained as using non-adapting or static routing, which routes by a network are explained by

What is super scalar architecture, Super scalar architecture Pentium m...

Super scalar architecture Pentium microprocessor is organized with three execution units. One executes floating-point instructions and other two (U-pipe and V-pipe) execute in

Explain about micro-instruction formats, Q. Explain about Micro-instruction...

Q. Explain about Micro-instruction Formats? Now let's focus on format of a micro-instruction. The two widely used formats employed for micro-instructions are vertical and horiz

How to use activex control in .net, How to use ActiveX Control in .Net ? ...

How to use ActiveX Control in .Net ? ActiveX control is a special type of COM component that handles a User Interface. Using ActiveX Control in your .Net Project is even simple

What is object orientation, What is object orientation? Object orientat...

What is object orientation? Object orientation means that we classify software as a collection of discrete objects that incorporate with together DS and behaviour. Four aspe

Show the properties of frame tag, Q. Show the properties of Frame Tag? ...

Q. Show the properties of Frame Tag? This tag is used for placing an HTML file in the frame created. We should now tell browser what to put in every frame.

What is traffic engineering, What is Traffic Engineering? Traffic engi...

What is Traffic Engineering? Traffic engineering gives the basis for analysis and design of telecommunication network to carry a specified traffic at an exact loss probability

Transportation model, advantages and disadvantages of northwest corner meth...

advantages and disadvantages of northwest corner method and least cost method

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd