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

Features added in message passing interface-2, Q. Show the Features added i...

Q. Show the Features added in message passing interface-2 Input/output Single-sided operations for remote memory access Binding for C++ Dynamic process managem

Example of bitwise-and operator, Example of Bitwise-AND Operator In the...

Example of Bitwise-AND Operator In the following example, the bitwise-AND operator (&) compares the bits of two integers, nNumA and nNumB: // Example of the bitwise-AND oper

Define b2b - business to business, B2B - Business to Business  It is a...

B2B - Business to Business  It is a mode of conducting business among two or more companies over the Internet, rather than more traditional modes like as telephone, mail, and f

Verilog, http://www.cse.psu.edu/~dheller/cmpen331/Homework/Homework4.htmlwo...

http://www.cse.psu.edu/~dheller/cmpen331/Homework/Homework4.htmlwords accepted#

How can i execute a php script using command line, Just run the PHP CLI (Co...

Just run the PHP CLI (Command Line Interface) program and give the PHP script file name as the command line argument. For instance, "php myScript.php", assuming "PHP" is the comman

Layered architecture of electronic data interchange, Illustrated about the ...

Illustrated about the layered architecture of Electronic Data Interchange? Layered Architecture of EDI: Electronic Data Interchange is most commonly applied into th

Learning algorithm for multi-layered networks, Learning algorithm for multi...

Learning algorithm for multi-layered networks: Furthermore details we see that  if S is too high, the contribution from w i * x i is reduced. It means that t(E) - o(E) is mu

Addressing relationship for main memory and cache, Q. Addressing Relationsh...

Q. Addressing Relationship for Main Memory and Cache? In the normal case there are 2k words in cache memory and 2n words in main memory. The n-bits memory address is splitted i

Implement simplified expression using nor gates only, Q. For function F(x,y...

Q. For function F(x,y,z) = ∑m (1,2,3,5,6) using TRUTH TABLE only 1. Find POS expression 2. Implement this simplified expression using two level OR-to-AND gate network 3. I

Explain what logic gets synthesized , What logic gets synthesized when I us...

What logic gets synthesized when I use an integer instead of a reg variable as a storage element? Is use of integer recommended? An  integer  can  take  place  of  a  reg  as

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