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

Show packing and unpacking data, Q. Show Packing and Unpacking Data? P...

Q. Show Packing and Unpacking Data? Packing and Unpacking Data  pvm_packs - Pack active message buffer with arrays of prescribed data type: int info = pvm_pac

What will exactly the hide statement do, What will exactly the hide stateme...

What will exactly the hide statement do? For displaying the details on secondary lists needs that you have previously stored the contents of the selected line from within the

Explain advantages and disadvantages of macro pre-processor, What are the a...

What are the advantages and disadvantages of macro pre-processor? Advantages Any of existing conventional assembler can be improved in this way to incorporate macro proces

Time slice, The Linux Process Scheduler uses time slice to prevent a single...

The Linux Process Scheduler uses time slice to prevent a single process from using the CPU for too long. A time slice specifies how long the process can use the CPU. In our simulat

Fundamental building block of main memory, Q. Fundamental building block of...

Q. Fundamental building block of main memory? The fundamental building block of main memory remains DRAM chip as it has for decades. Till recently there had been no important c

Depth in cutoff search, Depth in Cutoff search: The depth is chosen in...

Depth in Cutoff search: The depth is chosen in advance to certify in which the agent does not capture much more long to choose a move: however, if it has longer, well then we

Differentiate between the message and method in c++, Message in C++ : *...

Message in C++ : * Objects converse by sending messages to each other. * A message is sent to invoke a method in C++.   Method in C++: * Gives response to a message

Two ways for restricting the value range for a domain, What are the two way...

What are the two ways for restricting the value range for a domain? By specifying fixed values. By stipulating a value table.

Describe about managing data tasks?, Data can be handled by using the featu...

Data can be handled by using the features of Import text wizard and export text wizard. Here you can keep the operation for future use. First you should edit the specification name

Communications technology, COMMUNICATIONS TECHNOLOGY: The development ...

COMMUNICATIONS TECHNOLOGY: The development of communications technology is, in a sense, a symbol of man's effort to communicate rapidly over great distances. Communications te

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