--%>

Macro definition in C and C++

Macro in C: Macros are defined as single identifiers that are equivalent to expressions, complete statement or groups of statements. Macros signify functions in this sense. They are defined in an all together different members than functions. Though, they are treated in a different way during the compilation procedure.

 

Consider the simple c programme

# include < stdio. h >

# define area length * width

Main ()

{

Int length, width;

Print f ("length = ")

Scan f (" % d" & length);

Print f ("width =")

Scan f ("% d", & width);

Print f ("area = % d", area);

}

This programme contains the macro area which represents the expression length & expression and width. When the programme is pile up, the expression length * width will swap the identifier area in the print statement in order that the print f statement will turn out to be

Print f ("area = % d, length * width);

Note the string "area % d" is unaffected by the # define statement. Macro definitions are usually placed at the start of a file, ahead of the first function definition. The scope of a macro definition widen from its point of definition to the ending of the file. A macro defined in one file is not known in other file. Multiline macros can be defined by placing a back ward slash at the end of each line except the last. This feature permits to a single macro (single identifier) to represent a compound statement. Here is another simple C programme that contains a macro:

This programme contains a multiline macro, which represents a compound statement.

Macro in C++: The programme will replace all the macro functions used in programme by their function body before the complication. The feature of macro functions is that there will be no extent function call during execution. Since the function body is substituted at the point of macro call during complications. Thus the runtime overhead for function linking or context switch time is decreased. The macro function spans for a maximum of one line only. 

   Related Questions in Programming Languages

  • Q : What is the way to use XForms What is

    What is the way to use XForms?

  • Q : Define Well-known port Well-known port

    Well-known port: It is a port number at which a server provides a familiar service. For example, 80 is well-known port number for the servers employing the HyperText Transfer Protocol (abbreviated as HTTP).

  • Q : Data types of LONG To define the data

    To define the data types such as LONG, INT, SHORT, CHAR write a program?

  • Q : How can Login dialog accessed The web

    The web page I am testing displays the Login dialog. How can I access this dialog?

  • Q : What is an Implicit type conversion

    Implicit type conversion: The type conversion which does not need a cast. Implicit type conversions usually do not comprise any loss of information. For example, joining an integer operand with a floating point operand in an arithmetic expression will

  • Q : Define the term Statement terminator

    Define the term Statement terminator: The semicolon (;) is employed to point out the end of a statement.

  • Q : Explain Automated Testing-Software

    Automated Testing: Software testing is the most generally used technique for verifying and validating software. While testing may not provide the same rigor as model checking, it is far more scalable and usually does not require a significant tool inf

  • Q : Problem on Gaussian Matlab function

    Solve the system Ax = b, with using the given Matlab function gauss (it cal

  • Q : Compute Days Between Ordering and

    An analyst in the quality assurance office reviews the time lapse between receiving an order and shipping an order. Any orders which have not been shipped in a day of the order being positioned are investigated. Build a function named ORD_SHIP_SF which computes the nu

  • Q : Including CSS with the HEAD Tag

    Describe how to include the CSS within the HEAD Tag?