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

What are the server specific middle wares, What are the server specific mid...

What are the server specific middle wares? Server specific middle wares. Their role in e-commerce. Additional features needed by e-commerce server. Middleware is the term of

Determine waiting and average waiting time of CPU, CPU burst time indicates...

CPU burst time indicates the time, the process needs the CPU. The following are the set of processes with their respective CPU burst time     (in milliseconds). Process

Depth - basic characteristics of an experts system, An expert system has d...

An expert system has death that is it operate effectively in a narrow domain containing difficult challenging problems. Thus the rules in an experts systems are necessarily co

Dbms, documentation for dbms report

documentation for dbms report

Assembly lenguange , what is the work of pin daigram in 8086 microprocessor...

what is the work of pin daigram in 8086 microprocessor in assembly

State in brief about virtual memory, What is Virtual memory The term v...

What is Virtual memory The term virtual memory signifies something that appears to be present though actually it is not. Virtual memory technique enables users to use more mem

How can we use metropolitan area network, Q. How can we use Metropolitan Ar...

Q. How can we use Metropolitan Area Network? A MAN, essentially a bigger versions of a LAN is designed to extend over an entire city. It may be single network like a cable tele

Where the grade of service is measured, The grade of service is measured in...

The grade of service is measured in (A) Percentage                                  (B)  Number (C)  Fractional Number                    (D)  Logarithmic Number  Ans

Explain the term electronic data interchange (edi), Explain the term Electr...

Explain the term Electronic Data Interchange (EDI). Electronic Data Interchange (EDI) may be generally easy to understand as the replacement of paper-based purchase orders alon

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