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

Failures, FAILURES Since reliability engineering is focused on the surv...

FAILURES Since reliability engineering is focused on the survivability or absence of failures, it is more concerned about failures,  understanding  their causes and defining re

Explain the working of hundred-line exchange, In a hundred-line exchange 24...

In a hundred-line exchange 24 two-motion selectors are used. Draw the schematic you suggest for this exchange and explain its working. How many simultaneous calls can be made durin

How would you implement inheritance using vb.net/c#, How would you implemen...

How would you implement inheritance using VB.NET/C#? When we set out to execute a class using inheritance, we must first start with an existing class from which we will derive

Define arithmetic pipelines, Arithmetic Pipelines The technique of pipe...

Arithmetic Pipelines The technique of pipelining can be applied to various complex and low arithmetic operations to speed up processing time. Pipelines used for arithmetic calc

Convert the following into pos form, Q. Convert the following into POS form...

Q. Convert the following into POS form 1.  (AB + C + DC)(AB + BC + D) 2.  WYZ + XYZ + W'X'Y + W'XYZ 3.  XY + XZ + X'YZ' 4.   (A+B'+C) (AB+AC') 5.   F(A,B,C,D)=M(0,3,

What is insertion sort, What is insertion sort? Insertion Sort : One o...

What is insertion sort? Insertion Sort : One of the easiest sorting algorithms is the insertion sort. Insertion sort having of n - 1 passes. For pass p = 2 by  n, insertion so

Define busy waiting and spinlock, Define busy waiting and spinlock.  Wh...

Define busy waiting and spinlock.  When a process is in its critical section, any other process that tries to enter its critical section must loop continuously in the entry cod

Signaling - universal serial bus , Signaling - Universal Serial Bus: U...

Signaling - Universal Serial Bus: USB supports following signaling rates: o   A low speed rate of 1.5 Mbit/s is defined by USB 1.0. This is so much similar to "full speed"

EME, How can i made Carnot engine

How can i made Carnot engine

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