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

Version control systems, The next major set of tasks to tackle are delete a...

The next major set of tasks to tackle are delete and update. Version control systems typically version updates to a ?le and only store the differences between the ?les. Two system

Breifly explain memory-to-memory architecture, Memory-to-Memory Architectur...

Memory-to-Memory Architecture The pipelines can access vector operands intermediate and final results straight in main memory. This necessitates the higher memory bandwidth. Fu

CRTscreen as a two-dimensional matrix, Explain the statement- CRT screen as...

Explain the statement- CRT screen as a two-dimensional matrix One can imagine the CRT screen as a two-dimensional matrix which has m rows and n  columns and this is usually ref

Database system, What are the three data anomalise that are likely to occur...

What are the three data anomalise that are likely to occur as a result of data redundancy?

What are simm and dimm, What are SIMM and DIMM? SIMM are Single In-Line...

What are SIMM and DIMM? SIMM are Single In-Line Memory Module. DIMM is Dual In-Line Memory Modules. Such modules are an assembly of various memory chips on a separate small boa

Centres of keycaps, A full size keyboard has distance between centres of ke...

A full size keyboard has distance between centres of keycaps (keys) like 19mm (0.75in).The keycaps have a top of nearly 0.5in (12.5in) that is shaped as a sort of dish to help you

What is the use of buffer register, What is the use of buffer register? ...

What is the use of buffer register? The buffer register is used to avoid speed mismatch among the I/O device and the processor.

Process of minimax algorithm, Process of Minimax algorithm: Our aim is...

Process of Minimax algorithm: Our aim is just to write the best of best score on the top branches of the tree that player one can guarantee to score if he chooses that move.

Address fields and phone fields , Make a nested struct to store a person's ...

Make a nested struct to store a person's name, address, and phone numbers.  The struct should have 3 fields for the name, address, and phone. The address fields and phone fields wi

Describe distributed object model, Question 1 Give a brief explanation on m...

Question 1 Give a brief explanation on message oriented middleware Question 2 Describe Distributed object model Question 3 Explain File systems in a distributed computing Env

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