Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Pointers to Structs | Pointers and Structs
C Structs

Swipe to show menu

book
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.c

main.c

copy
12345678910111213141516171819202122
#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

Swipe to start coding

  1. Declare structure Human which contains two fields name and age;
  2. Initialize the structure worker and fill the fields;
  3. Declare and initialize a pointer ptr to a worker;
  4. Display information about the worker.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 2. ChapterΒ 2
single

single

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

close

Awesome!

Completion rate improved to 4.17

book
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.c

main.c

copy
12345678910111213141516171819202122
#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

Swipe to start coding

  1. Declare structure Human which contains two fields name and age;
  2. Initialize the structure worker and fill the fields;
  3. Declare and initialize a pointer ptr to a worker;
  4. Display information about the worker.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

close

Awesome!

Completion rate improved to 4.17

Swipe to show menu

some-alt