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

Compare ss7 architecture with seven-layer osi architecture, Compare the arc...

Compare the architecture of SS7 with seven-layer OSI architecture The relationship among these levels and the layers of the OSI model is demonstrated in figure. The user part i

Describe all elements of a state-chart diagram, a. Initial State: The first...

a. Initial State: The first or the default state the object is in. It is indicated by a solid circle. b. State: All the states an object can go in are mentioned in this. It is

First order predicate logic - artificial intelligence, First Order Predicat...

First Order Predicate Logic : This is a more expressive logic because it is mostly builds on propositional logic by allowing us to needs as constants, variables, predicates,

Find the number of PROM chips & address lines, The capacity of 2K × 16 PROM...

The capacity of 2K × 16 PROM is to be expanded to 16 K × 16.  Find the number of PROM chips required and the number of address lines in the expanded memory. Ans. Capacity requi

What is a multitape tm, What is a multitape TM?  A  multi-tape  Turing ...

What is a multitape TM?  A  multi-tape  Turing  machine  having  of  a  finite  control  with  k-tape  heads  and k-tapes each tape is infinite in both directions. On a one mov

Explain cache memory, What is cache memory? It is a small, fast memory ...

What is cache memory? It is a small, fast memory that is inserted among large, slower main memory and the processor. It decreases the memory access time

Design a sequential circuit with two flip-flop and one input, Design a coun...

Design a counter modulo 4 (sequential circuit with two flip-flops and one input U) which work like that: 1. When U=0, the state of the flip-flop does not change. 2. Whe

What is the benefit of using linq on dataset, The main aim of using LINQ to...

The main aim of using LINQ to Dataset is to run strongly typed queries on Dataset. Assume we want to combine the results from two Datasets, or we need to take a distinct value f

4 variable k-maps, 4-variable K-maps have 16 squares which arearranged in 4...

4-variable K-maps have 16 squares which arearranged in 4 columns and 4 rows.  Columns and rows are labeled with 2 variables. The rows are arranged so that C or D ch

Explain busy waiting semaphores, Explain busy waiting semaphores. Weak,...

Explain busy waiting semaphores. Weak, Busy-wait Semaphores: The simplest method to implement semaphores. Useful while critical sections last for a short time, or we

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