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

Explain about heterogeneous linked list, If you are using C language to imp...

If you are using C language to implement the heterogeneous linked list, what pointer type will you use? The heterogeneous linked list having different data types in its nodes a

Explain isdn addressing with a example, Explain ISDN Addressing with a exam...

Explain ISDN Addressing with a example. A sub address, though a part of the ISDN address, is not seems as an integral part of the numbering scheme. Sub-address is carried in a

What controls the screen flow, What controls the screen flow? The SET ...

What controls the screen flow? The SET SCREEN and LEAVE SCREEN statements controls screen flow.

Explain block diagram for 4 bit parallel adder, What is parallel adder? Dra...

What is parallel adder? Draw and explain block diagram for 4 bit parallel adder. Ans: By using full adder circuit, any two bits can be added along with third input like a ca

Define b2b - business to business, B2B - Business to Business  It is a...

B2B - Business to Business  It is a mode of conducting business among two or more companies over the Internet, rather than more traditional modes like as telephone, mail, and f

Intelligent systems assignment, This logbook should be used to record decis...

This logbook should be used to record decisions, ideas, work done by your group on this assignment. Each group should keep one logbook, which must be submitted along with your sour

Evaluation function - canonical genetic algorithm, Evaluation function - ca...

Evaluation function - canonical genetic algorithm: However note that this termination check may be related or the same as the evaluation function - that discussed later - but

Differentiate between raid 0 and raid 1, Problem 1 a) Give three reaso...

Problem 1 a) Give three reasons why connecting peripherals directly to the system bus are not a good practice. b) Name five categories in which the major functions on requ

An example of two stages network have switching elements, For two stages ne...

For two stages network the switching elements for M inlets with r blocks and N outlets with s blocks is given by (A) Ms + Nr                                (B)  Mr + Ns (

How are the instructions provided to computer, Let's answer our second ques...

Let's answer our second question first. All computers have a Unit which performs arithmetic and logical functions. This Unit is called as Arithmetic and Logic Unit (ALU). However h

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