Course Content
C Structs
C Structs
Pointers to Structs
The C programming language allows you to create pointers not only to regular data types but also to structures (since a structure is a custom data type).
Declaration and initialization of a pointer looks like this:
If <name_of_pointer>
is a pointer to a structure,
then *(<name_of_pointer>)
is the structure itself.
To access the fields of a structure through a pointer, you must use the -> operator.
Note
"->" is an analogue of the structure access operator
.
main
#include <stdio.h> // structure declaration struct Point { int x; int y; }; int main() { // create a structure variable of Point type struct Point p1; p1.x = 10; p1.y = 20; // create a pointer to a structure of type Point and assign it the address of variable p1 struct Point* ptr = &p1; // Access structure members via pointer by `->` operator printf("Coordinates: (%d, %d)\n", ptr->x, ptr->y); return 0; }
Task
- Declare structure
Human
which contains two fieldsname
andage
; - Initialize the structure
worker
and fill the fields; - Declare and initialize a pointer
ptr
to aworker
; - Display information about the
worker
.
Thanks for your feedback!
Pointers to Structs
The C programming language allows you to create pointers not only to regular data types but also to structures (since a structure is a custom data type).
Declaration and initialization of a pointer looks like this:
If <name_of_pointer>
is a pointer to a structure,
then *(<name_of_pointer>)
is the structure itself.
To access the fields of a structure through a pointer, you must use the -> operator.
Note
"->" is an analogue of the structure access operator
.
main
#include <stdio.h> // structure declaration struct Point { int x; int y; }; int main() { // create a structure variable of Point type struct Point p1; p1.x = 10; p1.y = 20; // create a pointer to a structure of type Point and assign it the address of variable p1 struct Point* ptr = &p1; // Access structure members via pointer by `->` operator printf("Coordinates: (%d, %d)\n", ptr->x, ptr->y); return 0; }
Task
- Declare structure
Human
which contains two fieldsname
andage
; - Initialize the structure
worker
and fill the fields; - Declare and initialize a pointer
ptr
to aworker
; - Display information about the
worker
.
Thanks for your feedback!
Pointers to Structs
The C programming language allows you to create pointers not only to regular data types but also to structures (since a structure is a custom data type).
Declaration and initialization of a pointer looks like this:
If <name_of_pointer>
is a pointer to a structure,
then *(<name_of_pointer>)
is the structure itself.
To access the fields of a structure through a pointer, you must use the -> operator.
Note
"->" is an analogue of the structure access operator
.
main
#include <stdio.h> // structure declaration struct Point { int x; int y; }; int main() { // create a structure variable of Point type struct Point p1; p1.x = 10; p1.y = 20; // create a pointer to a structure of type Point and assign it the address of variable p1 struct Point* ptr = &p1; // Access structure members via pointer by `->` operator printf("Coordinates: (%d, %d)\n", ptr->x, ptr->y); return 0; }
Task
- Declare structure
Human
which contains two fieldsname
andage
; - Initialize the structure
worker
and fill the fields; - Declare and initialize a pointer
ptr
to aworker
; - Display information about the
worker
.
Thanks for your feedback!
The C programming language allows you to create pointers not only to regular data types but also to structures (since a structure is a custom data type).
Declaration and initialization of a pointer looks like this:
If <name_of_pointer>
is a pointer to a structure,
then *(<name_of_pointer>)
is the structure itself.
To access the fields of a structure through a pointer, you must use the -> operator.
Note
"->" is an analogue of the structure access operator
.
main
#include <stdio.h> // structure declaration struct Point { int x; int y; }; int main() { // create a structure variable of Point type struct Point p1; p1.x = 10; p1.y = 20; // create a pointer to a structure of type Point and assign it the address of variable p1 struct Point* ptr = &p1; // Access structure members via pointer by `->` operator printf("Coordinates: (%d, %d)\n", ptr->x, ptr->y); return 0; }
Task
- Declare structure
Human
which contains two fieldsname
andage
; - Initialize the structure
worker
and fill the fields; - Declare and initialize a pointer
ptr
to aworker
; - Display information about the
worker
.