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

State the term availability - organisational security scheme, State the ter...

State the term Availability - organisational security scheme What data needs to be available continually, compared to data which can be "off line" for limited periods. Th

Wrapping database calls into mts transactions, What is the advantage of wra...

What is the advantage of wrapping database calls into MTS transactions? Ans) If database calls are made within the context of a transaction, aborting the transaction will undo a

Menu driven program with following menu, Q.  Develop a Menu driven program ...

Q.  Develop a Menu driven program with following menu: 1.  Gray code 2.  BCD 3.  Excess-3 code 4.  Exit I/P must be a valid Binary number. Fractional numbers are all

Computational fluid dynamics, Q. Computational Fluid Dynamics? Computat...

Q. Computational Fluid Dynamics? Computational Fluid Dynamics: CFD was a FORTRAN like language developed in the early 70s at "Computational Fluid Dynamics Branch of Ames Resear

What is the purpose of putchar function, What is the purpose of putchar fun...

What is the purpose of putchar function Putchar writes one character to the standard output file, stdout. Syntax #include int putchar(int c); The putchar macro wr

Describe the roles of association, Describe the roles of association No...

Describe the roles of association Note that each association has roles. For instance, in Figure we can see that two classes, Student and University, have their predefined roles

What are the different between hypertext hypermedia, What are the different...

What are the different between hypertext hypermedia? Hypertext is fundamentally the same like regular text; this can be stored, read or searched and edited along with a signifi

What is rambus dram, Q. What is Rambus DRAM? RDRAM which was developed ...

Q. What is Rambus DRAM? RDRAM which was developed by Rambus has been adopted by Intel for its Pentium and Itanium processors. It has become main competitor to SDRAM. RDRAM chip

Describe about digital audio tape, Q. Describe about Digital Audio Tape? ...

Q. Describe about Digital Audio Tape? The most proper tape for backing up data from a disk today is Digital Audio Tape (DAT). It employs a 4mm tape covered in a cartridge. It e

Microprocessor and interfacing, Write an ALP to count positve and numbers f...

Write an ALP to count positve and numbers from array.

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