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

Register addressing mode - computer architecture , Register Addressing mode...

Register Addressing mode - computer architecture: Register Addressing: Register addressing mode is same to direct addressing. Only difference in between is that the addre

Data communication, how CSMA protocol is improved through persistence metho...

how CSMA protocol is improved through persistence methods & collition detection

Minimis logic function using K-map, Minimise the logic function F (A, B, C,...

Minimise the logic function F (A, B, C, D) = Π M (1, 2, 3, 8, 9, 10, 11,14) ⋅ d (7, 15) Use Karnaugh map.   Ans. Given function F=∏M(1,2,3,8,9,10,11,14).d(7, 15) F'=B'D+B'C+AC+AB'

Library markup language, 1. Design a DTD for a new XML application called L...

1. Design a DTD for a new XML application called Library Markup Language (LibML) appropriate to capture the list of your items of collection . Put the DTD into a file named librar

Determine about the web authoring tools, Web authoring tools CGI was cons...

Web authoring tools CGI was considered excellent in the beginning since it was also open standard. The only drawback it suffered was that it was slow. Major software developers v

Explain pre-emptive scheduling, Explain Pre-emptive scheduling? Pre-em...

Explain Pre-emptive scheduling? Pre-emptive scheduling: in its approach, center processing unit can be taken away from a process if there is a require while in a non-pre-empt

Sequential logic gates - sr flip flop, Sequential Logic Gates SR flip ...

Sequential Logic Gates SR flip flop                                                                                                                    1)

What are the languages evolved in the html open standard, What are the lang...

What are the languages evolved in the html open standard Even the companies or developers themselves have been affected with such modifications to the open standards since they

How does applet update its window when information changs, How does the App...

How does the Applet update its window when information changes? Whenever an applet requires to update the information displayed in its window, this simply calls repaint ( ) way

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