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

Drill-down features provided by abap/4 in interactive lists, What are the d...

What are the drill-down features provided by ABAP/4 in interactive lists? ABAP/4 gives some interactive events on lists such as AT LINE-SELECTION (double click) or AT USER-COM

How client and server use same protocol port at same time, Can both client ...

Can both client and server use the same protocol port on the same computer at the same time? Explain. Client and server can't use similar port number on similar computer at ide

How reassembling of ip fragments is advantageous, Reassembling of IP fragme...

Reassembling of IP fragments at the ultimate destination is advantageous. Give reasons. Needing the ultimate destination to reassemble the fragments has two major advantages. F

Explain the relationship between translated & linked address, Explain the r...

Explain the relationship amongst Translated address and Linked address. Translated address: Address assigned through the translator Linked address: Address assigned

Difference between the functions unlink and unset?, Unlink() is a function ...

Unlink() is a function for file system handling. It will easily delete the file in context.   Unset() is a function for variable management. It will create a variable undefin

Transport layer, time to left (TTL) in transport layer

time to left (TTL) in transport layer

Explain about octal numbers system, Q. Explain about Octal Numbers system? ...

Q. Explain about Octal Numbers system? An octal system has 8 digits signified as 0,1,2,3,4,5,6,7. For finding equal decimal number of an octal number one has to find quantity o

Differentiate between programming tools and authoring tools, Diffrentiate p...

Diffrentiate programming tools and authoring tools Distinction between programming tools and authoring tools is not at first obvious. Though, authoring tools require less techn

Write a program to find the area and perimeter of a circle, Write a program...

Write a program to find the area and perimeter of a circle of given radius # include void main() { float radius, area, perimeter, pi=3.14; printf("\nEnter the rad

Define memory allocation scheme in ''external'' fragmentation, The memory a...

The memory allocation scheme subject to “external” fragmentation is? Segmentation is the memory allocation scheme subject to “external” fragmentation.

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