Explain the differences between macros and subroutines, Computer Engineering

Assignment Help:

Explain the differences between macros and subroutines.

Macros Vs Subroutines

(i) Macros are pre-processor directives which are processed before the source program is passed to the compiler.

Subroutines are blocks of codes along with a exact task, to be performed and are directly passed to the compiler.

(ii) In a macro call the pre-processor replaces the macro template along with its macro expansion, in a literal manner.

As against this, into a function call the control is passed to a function with exact arguments, some computations are performed in the function and a helpful value is returned back from the function.

(iii) Macro raises the program size. For illustration, if we use a macro hundred times in a program, the macro expansion goes in our source code at hundred various places. Because the function makes the program smaller and compact, for example, if a function is used, the even if this is called from hundred various places in the program, this would take similar amount of space in the program.

(iv) Macros compose the program run faster as they have already been expanded and placed into the source code before compilation. While, passing arguments to a function and obtaining back the returned values does take time and would thus slow down the program.

(v)   Illustration of macro

#define AREA(x) (3.14*x*x) // macro definition main(){

float r1=6.25, r2=2.5, a;

a=AREA(r1); // expanded to (3.14 * r1 * r1)

printf("\n Area of circle =%f",a);

a=AREA(r2); // // expanded to (3.14 * r2 * r2)

printf("\n Area of circle= %f",a);} Example of subroutine

main(){

float r1=6.25, r2=2.5, a;

a=AREA(r1); // calls AREA() printf("\n Area of circle =%f",a); a=AREA(r2); // calls AREA()

printf("\n Area of circle= %f",a);}

float AREA(float r) // subroutine{

return 3.14*r*r;}


Related Discussions:- Explain the differences between macros and subroutines

Explain the criteria to classify data structures, Explain the criteria to c...

Explain the criteria to classify data structures used for language processors? The data structures utilized in language processing can be classified upon the basis of the subse

What is disk controller and word count, What is disk controller The ele...

What is disk controller The electronic circuit that controls the operation of the disk known as disk controller.  word count The number of words in the block to be tran

Linux, Explain about unix file system architecture

Explain about unix file system architecture

Induction that your closed formula , Show by induction that your closed for...

Show by induction that your closed formula from (c) is the number of times that the given statement is implemented for a problem of size n.Note: if your proof is easily  a proof th

Resource dependence , Resource Dependence The parallelism among the ...

Resource Dependence The parallelism among the instructions may also be affected because of  the shared resources. If two instructions are using the related shared resource t

Layered architecture.., advantages and disadvantages of layered architectur...

advantages and disadvantages of layered architecture in computer network.

Show library, Show Library and its types. Libraries constitute a simple...

Show Library and its types. Libraries constitute a simple meaning of gathering many object files together: 1. Static: during link editing Library code is integrated with t

Unification, Unification: As just above this we have said that the rul...

Unification: As just above this we have said that the rules of inference for propositional logic detailed in the last lecture can also be required in first-order logic. Moreov

How numbering plan is achieved in modern telephony, How numbering plan is a...

How numbering plan is achieved in modern telephony? Give the structure with example. The objective of numbering plan is to uniquely identify every subscriber connected to a tel

What is the linkage section used for, The linkage section is used to pass d...

The linkage section is used to pass data from one program to one more program or to pass data from a PROC to a program.

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