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

Flowchart, flow chart for ''sin x'' as sum of serie

flow chart for ''sin x'' as sum of serie

Define mercantile process model from perspect of merchant, Define Mercantil...

Define Mercantile Process Model from the Merchant’s perspective along with a suitable diagram. This model consists of three activities into the purchase consummation phase: Aut

What are multi-cycle paths, What are multi-cycle paths? Multi-cycle pat...

What are multi-cycle paths? Multi-cycle paths are paths among registers which take more than one clock cycle to turn out to be stable. For illustration analyzing the de

How do you split hydrogen and oxygen gases, Q. How do you split Hydrogen an...

Q. How do you split Hydrogen and Oxygen gases in industrial electrolysis of water process? Answer:- In oxygen, electrolysis and hydrogen gas are produced at different elec

What do you mean by video memory, Q. What do you mean by Video Memory ? ...

Q. What do you mean by Video Memory ? As declared before video memory is also entitled framebuffer since it buffers video frames to be displayed. The quality of a video display

What do you mean by shopping bots, Q. What do you mean by shopping bots? ...

Q. What do you mean by shopping bots? ANSWER: A shopping bot or buyer agent is an intelligent agent on a Web site that assists you, the customer, search the products and servic

What is ''LRU'' page replacement policy, 'LRU' page replacement policy is ?...

'LRU' page replacement policy is ? Ans. Least Recently Used.

How is a multidimensional array defined pointer, How is a multidimensional ...

How is a multidimensional array defined in terms of a pointer to a collection of contiguous arrays of lower dimensionality ? C does not have true multidimensional arrays. Howev

Microprocessor, how to stud for subject microprocessor

how to stud for subject microprocessor

What is associative search, What is associative search? The cost of an ...

What is associative search? The cost of an associative cache is higher that the cost of a direct mapped cache due to the need to search all 128 bit tag patterns to verify wheth

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