CoolInterview.com - World's Largest Collection of Interview Questions
 Interview Questions  
 Our Services  

Get 9,000 Interview Questions & Answers in an eBook.


  • 9500+ Pages
  • 9000 Question & Answers
  • All Tech. Categories
  • 14 MB Content

    Get it now !!


    Send your Resume to 6000 Companies


  • INTERVIEW QUESTIONS LANGUAGES C DETAILS
    Question :
    How can type-insensitive macros be created?
    Category C Interview Questions
    Rating (5.0) By 1 users
    Added on 10/22/2004
    Views 2873
    Rate it!
    Answers:

    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 <stdio.h>
    #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.





    If you have the better answer, then send it to us. We will display your answer after the approval.
    Name :*
    Email Id :*
    Answer :*
    Verification Code Code Image - Please contact webmaster if you have problems seeing this image code Not readable? Load New Code
    Process Verification  Enter the above shown code:*
    Inform me about updated answers to this question

       
    Related Questions
    View Answer
    What are the standard predefined macros?
    View Answer
    What is a pragma?
    View Answer
    What is #line used for?
    View Answer
    How do you override a defined macro?
    View Answer
    How can you check to see whether a symbol is defined?
    View Answer
    What is the difference between a string copy (strcpy) and a memory copy (memcpy)? When should each be used?
    View Answer
    How can I convert a number to a string?
    View Answer
    How can I convert a string to a number?
    View Answer
    How do you print only part of a string?
    View Answer
    What is indirection?
    View Answer

    Please Note: We keep on updating better answers to this site. Subscribe to our newsletter to get notified when better answer is posted.

    Notify me when better answer is posted!
    Email:

    View ALL C Interview Questions

    User Options
    Sponsored Links


    Copyright ©2003-2009 CoolInterview.com, All Rights Reserved.
    Privacy Policy | Terms and Conditions
    Page URL: http://www.coolinterview.com/interview/1021/default.asp?cachecommand=bypass


    Download Yahoo Messenger | Placement Papers| FREE SMS | ASP .Net Tutorial | Web Hosting | Dedicated Servers | Joke of the Day

    0.55