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

What is repository info. systems, What is Repository Info. Systems? It ...

What is Repository Info. Systems? It is a tool with which you can create data stored in the ABAP/4 Dictionary available

Explain real time systems, Q. Explain Real time system? A real time sys...

Q. Explain Real time system? A real time system defines an interactive processing system with severe time limitations. A real-time system is used whenever there are rigid time

Explain the storage class register, The Storage Class register The Sto...

The Storage Class register The Storage Class register : The storage class 'register' tells the compiler that the associated variable  should  be stored  in  high-speed  memor

Vliw instruction word, VLIW instruction word is compacted to have floating-...

VLIW instruction word is compacted to have floating-point addition, one branch, floating point multiply, and one integer arithmetic and load/store operation as displayed in Figure

First order predicate logic-artificial intelligence, First Order Predicate ...

First Order Predicate Logic This is a more expressive logic because it builds on propositional logic by allowing us to use constants, predicates, variables, quantifiers and fun

Explain about the value chain for a manufactured product, Explain about the...

Explain about the value chain for a manufactured product. The products sold in shops and purchased for use within organizations are the result of a complicated web of relations

Terminates a particular pvm process, Q. Terminates a particular PVM process...

Q. Terminates a particular PVM process? int pvm_kill( int tid ) Terminates a particular PVM process. tid Integer task identifier of PVM process to be killed (not itself).

Determine the process of kernel, What are the events done by the Kernel aft...

What are the events done by the Kernel after a process is being swapped out from the main memory? When Kernel changes the process out of the primary memory, it performs the fol

Define TII, TII stands for? Ans. TII stands for Table of incomplete ins...

TII stands for? Ans. TII stands for Table of incomplete instructions.

What is dynamic memory allocation, What is dynamic memory allocation? T...

What is dynamic memory allocation? The mechanism of allocating needs amount of memory at run time is known as dynamic allocation of memory. Sometimes it is needed to allocate m

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