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 different parameter passing mechanisms to a function, What are the ...

What are the different parameter passing mechanisms to a function? The different parameter-passing mechanisms are given below: 1.   Call by value 2.   Call by value-resu

Identifying stakeholders, I have chosen an imaginary example to illustrate...

I have chosen an imaginary example to illustrate the different stakeholder categories. At Home sells a selection of consumer products, currently listed in a paper catalogue, whi

Define memory latency, Define Memory Latency? It is used to refer to th...

Define Memory Latency? It is used to refer to the amount of time it takes to transfer a word of data to or from the memory.

A subroutine can contain nested form and endform blocks, A subroutine can c...

A subroutine can contain nested form and endform blocks. False.

Illustrate cache dram, Q. Illustrate Cache DRAM? Cache DRAM (CDRAM) wh...

Q. Illustrate Cache DRAM? Cache DRAM (CDRAM) which is developed by Mitsubishi integrates a tiny SRAM cache (16Kb) on a generic DRAM chip. SRAM on the CDRAM can be used in two

What are the "field" and "chain" statements, What are the "field" and "chai...

What are the "field" and "chain" Statements? The FIELD and CHAIN flow logic statements let you Program your own checks. FIELD and CHAIN tell the system which fields you are ch

Information technology or information system, Information Technology or Inf...

Information Technology or Information System Before going further we need to clarify what we mean by the term information system. It is easy to confuse terminology as many tex

What is the difference between tcp and udp, TCP and UDP are both transport-...

TCP and UDP are both transport-level protocols. TCP is designed to give reliable statement across a variety of reliable and unreliable networks and internets. UDP gives a conne

Describe language processing activities, Describe language processing activ...

Describe language processing activities? There are two different kinds of language processing activities: a. Program generation activities b. Program execution activities

A global variable is a variable, A global variable is a variable A globa...

A global variable is a variable A global variable is declared outside the body of each function.

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