How to Declare a Pointer to a Struct in C? (original) (raw)
Last Updated : 05 Feb, 2024
Structure (or structs) in the C programming language provides a way to combine variables of several data types under one name and pointers provide a means of storing memory addresses. In this article, we will learn how to declare such a pointer to a struct in C.
**Declaration of Pointer to Struct in C
To declare a pointer to a struct we can use the **struct keyword. First, define a structure then declare a pointer to that structure using the below syntax and that pointer can be used to allocate and access memory for the structure.
**Syntax of Declaring Pointer to Struct
**struct StructName *_ptr ;
or
**struct {
// struct members
} *_ptr ;
**C Program to Declare Pointer to Struct
The below example demonstrates declaration of pointer to a structure.
C++ `
// C Program to show how to declare and use pointer to // structure
#include <stdio.h> #include <stdlib.h>
// Define a struct named Point with x and y coordinates struct Point { int x; int y; };
int main() { // Declare a pointer to a Point struct struct Point* ptr;
// Allocate memory for a Point struct using malloc
ptr = (struct Point*)malloc(sizeof(struct Point));
// Assign values to the x and y coordinates
ptr->x = 10;
ptr->y = 20;
// Print the coordinates
printf("Coordinates: (%d, %d)\n", ptr->x, ptr->y);
// Free the allocated memory
free(ptr);
return 0;
}
`
Output
Coordinates: (10, 20)
To know more, refer to the article - Structure Pointer in C