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

Synchronous, What are differences between Synchronous, Asynchronous and I s...

What are differences between Synchronous, Asynchronous and I synchronous communication? Sending data encoded in your signal needs that the sender and receiver are both by using

Programmed input - output technique for computers, Q. Programmed input - ou...

Q. Programmed input - output technique for computers? Programmed input/output is a useful I/O technique for computers where hardware costs need to be minimised. Input or output

Analysis of website, In this part you are required to review and critique a...

In this part you are required to review and critique a website of a café or a restaurant of your choice. Your report should be a minimum 500 words with a maximum of 1000 words. You

Create new user account - system administrator, A common task for a system ...

A common task for a system administrator is to create new user accounts. In this lab you will be creating output that looks like an /etc/passwd file. The Problem You are to

What is guard bits, What is guard bits? Guard bits are extra bits which...

What is guard bits? Guard bits are extra bits which are produced while the intermediate steps to yield maximum accuracy in the final results.

What are the events used for page headers and footers, What are the events ...

What are the events used for page headers and footers? The events TOP-OF-PAGE and END-OF-PAGE are used for pager headers and footers.

Obtain 1''s and 2''s complement, Obtain 1's and 2's complement of 1010 usin...

Obtain 1's and 2's complement of 1010 using only four-digit representation. Solution: 1's complement: 1's complement of 1010 is  Please note that wherever you ha

What are the four necessary condition of deadlock prevention, What are the ...

What are the four necessary conditions of deadlock prevention? Four essential conditions for deadlock prevention are: 1.  Removing  the  mutual  exclusion  condition  implie

What is the difference between strong ai and weak ai, Strong AI makes the b...

Strong AI makes the bold claim that computers can be made to think on a level (at least) equivalent to humans. Weak AI only states that some "thinking-like" features can be added t

Speed up - metrics for performance evaluation, Q. Speed Up - metrics for pe...

Q. Speed Up - metrics for performance evaluation? Speed up is ratio of time needed to execute a given program employing a specific algorithm on a machine with single processor

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