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

Diffrence between RISC and CISC architecture, Q. Diffrence between RISC and...

Q. Diffrence between RISC and CISC architecture? CISCs provide better support for high-level languages since they include high-level language constructs such as CASE, CALL etc

Hardware cost-network properties, Hardware Cost It refers to the cost i...

Hardware Cost It refers to the cost involved in the execution of an interconnection network. It consists of the cost of switches, connectors, , arbiter unit, interface logic an

Discuss the classifications of switching systems, Discuss the classificatio...

Discuss the classifications of switching systems. The categorizations of switching systems are specified in the block diagram given below:

How are comparisons done in 8086 assembly language, Q. How are comparisons ...

Q. How are comparisons done in 8086 assembly language? There is a compare instruction CMP. Though this instruction just sets the flags on comparing two operands (both 16 bits

Explain LRU page replacement algorithm, Explain LRU Page replacement algori...

Explain LRU Page replacement algorithm. LRU policy: It expands to least recently use. This policy proposes that we remove a page that last usage is farthest from present time

Determine about the security policy, Determine about the Security Policy ...

Determine about the Security Policy In the United States, the government has a separate organisation looking after the security measures and providing guidelines to all departm

Block format and disk layout on cd-rom, Q. Block Format and Disk Layout on ...

Q. Block Format and Disk Layout on CD-ROM? A typical block format is displayed in Figure (a). It comprises the subsequent fields: Sync: Sync field identifies beginning o

Push and pop, Suupose a stack-oriented processor that haves the stack opera...

Suupose a stack-oriented processor that haves the stack operations PUSH and POP.  Arithmetic operations automatically involve the top one or two stack elements. Starting with an

What is interrupt and function of color graphics adopter, Q. What is inter...

Q. What is interrupt? How it is useful in controlling I/O operations. Q. Explain function of Color Graphics Adopter card and Diskette Drive Adopter Card.

How will these instructions perform?, Q. How will these instructions perfor...

Q. How will these instructions perform? Let's assume that above machine instructions are stored in three consecutive memory locations 1, 2 and 3 and PC contains a value (1) tha

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