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

Prolog artificial intelligence , 1. countdown Example: countdown(5,[5,4,3,2...

1. countdown Example: countdown(5,[5,4,3,2,1]).  NOTE - your function should be able to answer questions such as: ?- countdown(5,L).  2. count_occur Example: count_occur(7,[5,2,6

Explain mdr and mar, Explain MDR and MAR. The data and address lines of...

Explain MDR and MAR. The data and address lines of the external memory bus linked to the internal processor bus by the memory data register, MDR and the memory address register

What are the uses of ramps, What are the uses of Ramps? Ramps: I...

What are the uses of Ramps? Ramps: It is a network planning method which makes the most efficient use of manpower, cash resources and materials among various projects go

What are the differences between simulation and synthesis, What are the dif...

What are the differences between SIMULATION and SYNTHESIS Simulation synthesis Simulation is used to verify functionality of the circuit.. a) Functional Simulation:stud

Important part of process - canonical genetic algorithm, Important part of ...

Important part of Process - canonical genetic algorithm: In such a scenario evolution or random mutations are often highly deleterious or can say harmful to the organism it me

Write a .net web service program, Question: (a) Give three typical use...

Question: (a) Give three typical uses of Web Services. (b) Describe the term WebService Behavior and list its advantages. (c) Explain how Proxy classes are used to acc

Difference between char a[] = "string", What is the difference between char...

What is the difference between char a[] = "string"; and char *p = "string";? Ans) In the first case 6 bytes are assigned to the variable a which is fixed, where as in the secon

What is assembler, What is Assembler An assembler is a program which ta...

What is Assembler An assembler is a program which takes as input a symbolic language program and produces output as its binary machine language equivalent. The input is known a

Define data path, Define data path. The registers, the ALU, and the int...

Define data path. The registers, the ALU, and the interconnecting bus are collectively referred to as the data path.

Define a structure, Define a structure. A structure having an ordered g...

Define a structure. A structure having an ordered group of data objects. Unlike the elements of an array, the data objects within a structure can have varied data types. Every

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