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

Why is the C language important?
C language is a high-level, general-purpose programming language. It provides a straightforward, consistent, powerful interface for programming systems. That's why the C language is widely used for developing...
Profile Photo
Ganesh
0 0
View Comments5
Who created C?
C programming language was created by Dennis Ritchie at Bell Labs in the early 1970s. Along with Ken Thompson, Ritchie developed C as an evolution of the B programming language, aiming to provide a more...
Profile Photo
Srinivasan
0 0
View Comments8
What is the concatenation operator?
The concatenation operator (##) is used to concatenate (combine) two separate strings into one single string. The concatenation operator is often used in C macros.
Profile Photo
R.s.praveen
What is the difference between n=1 and n==1 in the C language?
'=' is ASSIGNMENT operator , where as '==' is COMPARISON operator. int a=7; assigns the variable a an integer value 7 , where as a==7; checks if the VALUE of a is EQUAL to 7.
Profile Photo
Soujanya
0 0
View Comments8

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

Ask a Question

Related Lessons

Can we store different data types in a stack?
Yesterday, one of my Facebook friend asked me this question. My answer is "yes", and in this post I will discuss how could we do this.I am a great supporter of working with unions and I will be using union...
Profile Photo

C Language
To get help in C window (for keywords, functions) press Alt +F1.To delete a single line , use the shortcut key CTRL +Y.If you got error about the path when you execute a C pgm, check the Options menu =>Directories.
T

Thilagam S.

0 0
View Comments0

Tress And Its Traversal
Depth First Traversals:(a) Inorder (Left, Root, Right) : 4 2 5 1 3(b) Preorder (Root, Left, Right) : 1 2 4 5 3(c) Postorder (Left, Right, Root) : 4 5 2 3 1 Trees are one of the data structures like...
Profile Photo

C Program-The Odd Loop Demo
/* WAP to print square value of the number entered by user using odd loop*/ //Header Files #include<stdio.h>#include<conio.h> //Main Function void main(){ char another='y'; int num,sq; //...
Profile Photo

C Program-Vowels and Consonants
/*WAP to print the character entered by user is a vowel or consonant*/ //Header files #include<stdio.h>#include<conio.h> //Main functionvoid main(){ char c; //Function for clearing screen...
Profile Photo

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