A struct (structure) is a defined type that the user can define at compile time, for example if you want to have a user defined type that holds details of a database connection you could hold the hostname, username, password of the database connection within a structure (struct) without having to define 3 different variables you only have one that you need to fill in.
For the above example of a database struct
struct database_connection { char *username; char *hostname; char *password; }; |
then within the code you could create a new structure of this type and also fill in the details as
database_connection mydatabase; mydatabase.username = "usernamebob"; mydatabase.hostname = "localhost"; mydatabase.password = "userpassword"; |
and you just need to pass that struct to a function if you wanted to to do the connections e.g.
bool dummyconnection(database_connection conn) { createdatabase( conn.hostname, conn.username, conn.password); } |
saves passing in three different parameters.