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

How the canvas class and the graphics class are linked, A Canvas object giv...

A Canvas object gives access to a Graphics object by its paint() method.

What is DRAM and what do you understand by DRAM refreshing, What is DRAM? ...

What is DRAM? What do you understand by DRAM refreshing? With the help of a block diagram, demonstrate how DRAM can be interfaced to a microprocessor. Dynamic RAM (DRAM) is bas

What is the purpose of linq providers in linq, LINQ Providers are a set of ...

LINQ Providers are a set of classes that takes a LINQ query and dynamically produces a method that implements an equivalent query against an exact data source.

Explain conditions for the critical section problem solution, What are the ...

What are the properties which a data item should possess to implement a critical section? The Critical Section Problem Solution should satisfy the following conditions: 1.

Drawback of the system using disk caching, Q. Drawback of the system using ...

Q. Drawback of the system using disk caching? The main drawback of the system using disk caching is risking loss of updated information in event of machine failures like loss o

Show synchronous mode for point-to-point message passing, Q. Show Synchrono...

Q. Show Synchronous mode for point-to-point message passing? Synchronous mode: Transmitting can be started whether or not matching receive has been started, but transmitting w

How did you find web server related issues, Using Web resource monitors we ...

Using Web resource monitors we can search the performance of web servers. Using these monitors we can examine throughput on the web server, number of hits per second that happened

What is phase encoding, What is phase encoding or Manchestor encoding? ...

What is phase encoding or Manchestor encoding?  It is the method for combining clock information with data. It is a scheme in which alters in magnetization occur for each data

What are the digital certificates of hardware computations, What are the Di...

What are the Digital certificates of hardware computations Digital certificates are highly dependent on hardware computations, it is essential that mechanisms are evolved to i

What is slack, What is slack? 'Slack' is the amount of time you have wh...

What is slack? 'Slack' is the amount of time you have which is measured through while an event ‘really happens' and while it ‘should happen’. The term ‘really happens' can a

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