How can type-insensitive macros be created?

Asked by Last Modified  

Follow 0
Answer

Please enter your answer

Computer & Maths Professor

A type-insensitive macro is a macro that performs the same basic operation on different data types. This task can be accomplished by using the concatenation operator to create a call to a type-sensitive function based on the parameter passed to the macro.
Comments

Computer Wizard

A type-insensitive macro is a macro that performs the same basic operation on different data types. This task can be accomplished by using the concatenation operator to create a call to a type-sensitive function based on the parameter passed to the macro. The following program provides an example: #include...
read more
A type-insensitive macro is a macro that performs the same basic operation on different data types. This task can be accomplished by using the concatenation operator to create a call to a type-sensitive function based on the parameter passed to the macro. The following program provides an example: #include #define SORT(data_type) sort_ ## data_type void sort_int(int** i); void sort_long(long** l); void sort_float(float** f); void sort_string(char** s); void main(void); void main(void) { int** ip; long** lp; float** fp; char** cp; ... sort(int)(ip); sort(long)(lp); sort(float)(fp); sort(char)(cp); ... } This program contains four functions to sort four different data types: int, long, float, and string (notice that only the function prototypes are included for brevity). A macro named SORT was created to take the data type passed to the macro and combine it with the sort_ string to form a valid function call that is appropriate for the data type being sorted. Thus, the string sort(int)(ip); translates into sort_int(ip); after being run through the preprocessor. read less
Comments

VBA/Excel/Access/SQL Server

Similar to polymorphism in c++ if you are familiar to this. A type insensitive macro is a macro that perform the same base operation on different data type.Have common name but different signature. This task can be accomplished by using the concatenation operator to create a call to a type sensitive...
read more
Similar to polymorphism in c++ if you are familiar to this. A type insensitive macro is a macro that perform the same base operation on different data type.Have common name but different signature. This task can be accomplished by using the concatenation operator to create a call to a type sensitive function based on the parameter passed to the macro/program/module/function. read less
Comments

By using concatenation operator we can create a type-insensitive macro. For Example: #define ADD(data_type) add_ ## data_type void add_int(int i, int j) { int h = i+j; printf("%d",h); } void add_float(float k, float l) { float m = k+l; printf("%f",m); } void main(void) { int...
read more
By using concatenation operator we can create a type-insensitive macro. For Example: #define ADD(data_type) add_ ## data_type void add_int(int i, int j) { int h = i+j; printf("%d",h); } void add_float(float k, float l) { float m = k+l; printf("%f",m); } void main(void) { int a=1, b=1; float c=1.1, d=1.1; ADD(int)(a,b); ADD(float)(c,d); } here, ADD(int)(a,b); translates into add_int(a,b); read less
Comments

View 2 more Answers

Related Questions

What is = and == in C language?
'=' (Assignment Operator): The single equal sign = is used as an assignment operator. It is used to assign a value to a variable. '==' (Equality Operator): The double equal sign == is used as a relational...
Sayed
0 0
9
Which is the best software for working with C language?
Choosing the "best" software for working with the C language can depend on your specific needs and preferences, but a widely used and reliable option is the GNU Compiler Collection (GCC). GCC is an open-source...
Kiran
0 0
6
What is a calling function in C?
In C, a calling function, also referred to as a calling routine or a caller, is a function that invokes or "calls" another function. When a program executes, control is transferred from the calling function...
Deepika
0 0
6
How do I execute the Java program?
javac nameofprogram.java java nameofprogram note***:Name of program should be same as that of your class name having main method *** above steps are used to execute programs on command line
Sharmistha
0 0
6

Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com

Ask a Question

Related Lessons


Java and C trainer
Always think any conspect with real-time example like Object -- object must have states and behaviour then only we will call that thing is Object like fan is Object (rotating,color)

Why C is a Language and not a database?
When I interviewed a candidate, I raised this question many times, but I have not got the answer correctly. To under why C is a language and not a database, it is good to understand why our communication...

Dynamic Memory Allocation in C using malloc()
#include <stdio.h>#include <conio.h>//#include <malloc.h> OR#include <stdlib.h>void main(){ int *ptr, i, n, sum = 0; printf("how many elements ? "); scanf("%d", &n);...

C-Program Swapping Contents Of Variables Using Function [Call By Reference Method]
//Header Files #include#include // User defined functions swap with 2 pointer variables passed as an argument list void swap(int*i,int*j){ // Local variable temp int temp; // swapping contents using...

Recommended Articles

Lasya Infotech is a Hyderabad based IT training institute founded in 2016 by O Venkat. Believing in his innovation, passion and persistence and with a diverse blend of experience, he started his brainchild to deliver exemplary professional courses to aspiring candidates by honing their skills. Ever since the institute envisions...

Read full article >

Brilliant Academy is one of the reputed institutes for B.Tech tuition classes. This institute is specialised in delivering quality tuition classes for B.E, Engineering - all streams and Engineering diploma courses. Incorporated in 2012, Brillant Academy is a brainchild of Mr Jagadeesh. The main motto of the academy is to...

Read full article >

Hadoop is a framework which has been developed for organizing and analysing big chunks of data for a business. Suppose you have a file larger than your system’s storage capacity and you can’t store it. Hadoop helps in storing bigger files than what could be stored on one particular server. You can therefore store very,...

Read full article >

Microsoft Excel is an electronic spreadsheet tool which is commonly used for financial and statistical data processing. It has been developed by Microsoft and forms a major component of the widely used Microsoft Office. From individual users to the top IT companies, Excel is used worldwide. Excel is one of the most important...

Read full article >

Looking for C Language Classes?

Learn from the Best Tutors on UrbanPro

Are you a Tutor or Training Institute?

Join UrbanPro Today to find students near you