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

Describe key features of the von neumann architecture, Q. Describe key feat...

Q. Describe key features of the von Neumann Architecture? Describe key features of the von Neumann Architecture: The mainly basic function performed by a computer is exe

Kirchoff''s voltage law , Kirc hoff's Voltage Law   The sum ...

Kirc hoff's Voltage Law   The sum of all the voltage drops around a closed circuit loop will add to zero  V1+(-V2)+(-V3)+(-V4)= 0

Device drivers in unix, Device Drivers in UNIX, MS-DOS and Windows System ...

Device Drivers in UNIX, MS-DOS and Windows System Though device drivers are in effect add-on modules they are however considered to be part of system because they are closely i

What is error checking, What is error checking? It computes the error c...

What is error checking? It computes the error correcting code (ECC) value for the data read from the given sector and compares it with the corresponding ECC value read from the

How to use http and world wide web, Q. How to use Http and World Wide Web? ...

Q. How to use Http and World Wide Web? Http and World Wide Web One of the most frequently used services on the Internet is the World Wide Web (WWW). The application proto

How is transaction processing system affected, How is Transaction Processin...

How is Transaction Processing System affect performance of e-commerce sites? Transaction Processing System influences performance of e-commerce sites: Transaction-Processing

Differentiate between exception and validation testing, Differentiate betwe...

Differentiate between exception and validation testing. - Validation testing is done to test the software in conformance to the needs specified. It aims to demonstrate that the

Explain the fetch cycle, Q. Explain the Fetch Cycle? The beginning of e...

Q. Explain the Fetch Cycle? The beginning of every instruction cycle is the fetch cycle and causes an instruction tobe fetched from memory.   The fetch cycle comprises four

Advantage of booth and restoring division algorithm, Describe the advantage...

Describe the advantage of using Booth algorithm? Ans:  a) It achieves efficiency in the number of additions needed when the multiplier has a few large blocks of 1's. b) It

Write an interrupt routine to handle division by zero, Q. Write an interrup...

Q. Write an interrupt routine to handle 'division by zero'? This file can be loaded just like a COM file though makes itself permanently resident until the system is running.

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