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

Posix, POSIX is the IEEE's Portable Operating System Interface for Computer...

POSIX is the IEEE's Portable Operating System Interface for Computer Environments. The standard provides compliances criteria for operating system services and is designed to allow

Arduino Bingo Project., Hello everybody I have a project that is a bingo bo...

Hello everybody I have a project that is a bingo board run by laser pointers, light sensors, and leds. Basically I''m creating a 5 by 5 grid (bingo board) in which each row and col

Explain 32 to 1 multiplexer tree, Why is Multiplexer Tree needed? Draw ...

Why is Multiplexer Tree needed? Draw the block diagram of a 32:1 Multiplexer Tree and explain how input is directed to the output in this system. Ans. One of the possible

Predicates in propositional model, Predicates in propositional model: ...

Predicates in propositional model: The predicates take a number of arguments in which for now we assume are ground terms and represent a relationship between those arguments t

Dynamic screen sequence, Dynamic screen sequence  for a  screen can be set ...

Dynamic screen sequence  for a  screen can be set using which commands? It uses two commands:- A) Set Screen B) Call screen.

Displacement addressing mode - computer architecture, Displacement and  Sta...

Displacement and  Stack Addressing  mode - computer architecture: Displacement Addressing: In displacement addressing mode there are three types of addressing mode. They

What is a heap, What is a heap? The heap is an area of memory that is ...

What is a heap? The heap is an area of memory that is dynamically allocated. As a stack, this may grow and shrink throughout runtime. Not like a stack, a heap is not LIFO show

Using aspx view engine, When using aspx view engine, to have a steady look ...

When using aspx view engine, to have a steady look and feel, across all pages of the application, we can build use of asp.net master pages. What is asp.net master pages equal, when

What are the elements of analysis model, What are the elements of Analysis ...

What are the elements of Analysis model? i. Data Dictionary ii. Entity Relationship Diagram iii. Data Flow Diagram iv. State Transition Diagram v. Control Specifica

Define the pulse-triggered (master-slave) flip-flops, Define the Pulse-Trig...

Define the Pulse-Triggered (Master-Slave) Flip-flops? The term pulse-triggered signify that data are entered into the flip-flop on the rising edge of the clock pulse, though th

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