0
0
CHow-ToBeginner · 3 min read

How to Use typedef with Structure in C: Simple Guide

In C, you use typedef with struct to create a new type name that simplifies declaring variables of that structure. This is done by writing typedef struct { ... } TypeName;, which lets you use TypeName directly without the struct keyword.
📐

Syntax

The syntax to use typedef with a struct is:

  • typedef: keyword to create a new type name.
  • struct { ... }: defines the structure with its members inside braces.
  • TypeName;: the new name you want to give to this structure type.

This lets you declare variables using TypeName instead of struct TypeName.

c
typedef struct {
    int id;
    char name[50];
} Person;
💻

Example

This example shows how to define a Person type using typedef with struct, then create and print a variable of that type.

c
#include <stdio.h>

typedef struct {
    int id;
    char name[50];
} Person;

int main() {
    Person p1;
    p1.id = 101;
    snprintf(p1.name, sizeof(p1.name), "%s", "Alice");

    printf("ID: %d\n", p1.id);
    printf("Name: %s\n", p1.name);

    return 0;
}
Output
ID: 101 Name: Alice
⚠️

Common Pitfalls

Common mistakes when using typedef with struct include:

  • Forgetting to use typedef, so you must write struct TypeName every time.
  • Declaring the typedef without a name, making it unusable.
  • Confusing the order of typedef and struct keywords.

Here is a wrong and right way:

c
// Wrong: no typedef, need to use 'struct Person' every time
struct Person {
    int id;
};

// Right: typedef creates alias 'Person'
typedef struct {
    int id;
} Person;
📊

Quick Reference

Remember these tips when using typedef with struct:

  • Use typedef struct { ... } Name; to create a new type.
  • Then declare variables simply as Name var;.
  • This improves code readability and reduces typing.

Key Takeaways

Use typedef with struct to create easy-to-use type names in C.
Write typedef struct { ... } TypeName; to define the new type.
After typedef, declare variables with just TypeName without struct keyword.
Common mistake: forgetting typedef means you must use struct keyword every time.
Using typedef with struct makes your code cleaner and simpler.