This question already has an answer here:
I'm setting up a basic socket server following this guide: https://www.geeksforgeeks.org/socket-programming-cc/
So, I know that when you use the keyword struct it's to define a data structure, but as you can see in the example, it creates an instance of sockaddr_in using the structure keyword, but it's not for creating/defining the structure, it's to create an instance.
So I'm wondering why in this guide to define a sockaddr_in structure he puts the 'structure' keyword before, I tried it without and it compiles all correctly.
Is there any reason behind?
The article that you've mentioned is written in C, which in C when you create a struct and you try to use it as a type, you have to mention that it's a struct. If you want to give up on the struct, you can read more about the
typedef
operator.using
struct
when declaring an instance of a struct comes from C. It is optional in C++.The source files shown in your link are both written in C, not C++. In C, when declaring an instance of a struct, you need the struct keyword, like this.
In C++ you don't need to do this anymore.