Photo by Tom Claes on Unsplash |
Concept Behind the Trick
Here, we are trying to implement the functionality of the class (a pillar of the OOP paradigm) in the C language structure let’s call this X.We will define a structure, and define a signature for the function inside the structure, you can create some other variables as well.
Then, we need some real functions defined outside the structure X and assign the reference of the function to the function inside structure X.
(we will do it with examples later in this article).
Fundamentals
1. Declare & Define the function
Let’s declare the signature of the function. The function says the most common thing “Hello World!”.2. Create the Structure
This is the most important task we need the structure.Create a structure with the name Hello.
Now, add the function that says the most common thing “Hello World!”.
Q. But, what is void (*mySayHello)();?
A. Let’s breakdown this into parts:
Part 1 void: This is the return type that your function (mySayHello in this example) will return.
Part 2 (*mySayHello): This is the name of the function that you will call using the structure variable. Here, we are pointing to another function using the name mySayHello.
Part 3 (): The list of parameters if you pass.
3. Point the Function
Now, point to the function sayhello() using the function mySayHello inside the structure Hello.Create a variable of type Hello;
4. Call the function
Call the function with the dot (.) operator.DOWNLOAD CODE (hello_function.c)
Advanced Stuff
Add parameter list, create an initializer function, use structure variables, etc.We will understand all with a Calculator example
1. Parameter List
That’s simply creating a function with parameter and/or return type.We need to pass the structure so we can access the values inside it.
Define all the functions
In place of the Calculator *c you can pass any type of variable.
The main function
2. Initializer function
Create a function MCalculator()
3. Main function
The complete code
The article was originally posted on my blog(CS111)
That’s All. 😅
Thanks for reading. 🙏
If you liked it feel free to share it with your dear ones.💗
And tell me what do you think by sending an email.💬
Stay tuned with me.
(Vikas Patel)
Thanks for reading. 🙏
If you liked it feel free to share it with your dear ones.💗
And tell me what do you think by sending an email.💬
Stay tuned with me.
(Vikas Patel)
Post a Comment