I just want to know if C supports over loading?
As we use system functions like printf with different no of arguments.
Help me out
I just want to know if C supports over loading? As we use system
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
No, C doesn’t support any form of overloading (unless you count the fact that the built-in operators are overloaded already, to be a form of overloading).
printfworks using a feature called varargs. You make a call that looks like it might be overloaded:Actually it isn’t. There is only one printf function, but the compiler uses a special calling convention to call it, where whatever arguments you provide are put in sequence on the stack[*]. printf (or vprintf) examines the format string and uses that to work out how to read those arguments back. This is why printf isn’t type-safe:
[*] the standard doesn’t actually say they’re passed on the stack, or mention a stack at all, but that’s the natural implementation.