工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C言語typedef:カスタム型名でコードをシンプルに

typedefとは

Cプログラミング言語にはtypedefというキーワードがあり、これを使って型に新しい名前を付けることができます。1バイト数値のBYTEという用語を定義する例:

typedef unsigned char BYTE;

この型定義後、識別子BYTEは型unsigned charの省略形として使用できます。例:

BYTE b1, b2;

慣習的に、これらの定義には大文字を使用し、型名が実際にはシンボリックな略称であることをユーザーに認識させますが、小文字も使用可能です:

typedef unsigned char byte;

typedefを使用して、ユーザー定義データ型に名前を付けることもできます。例えば、構造体とtypedefを組み合わせて新しいデータ型を定義し、そのデータ型を使って構造体変数を直接定義できます:

Live Demo
#include <stdio.h>
#include <string.h>

typedef struct Books {
    char title[50];
    char author[50];
    char subject[100];
    int book_id;
} Book;

int main() {
    Book book;
    strcpy(book.title, "C Programming");
    strcpy(book.author, "Nuha Ali");
    strcpy(book.subject, "C Programming Tutorial");
    book.book_id = 6495407;
    printf("Book title : %s\n", book.title);
    printf("Book author : %s\n", book.author);
    printf("Book subject : %s\n", book.subject);
    printf("Book book_id : %d\n", book.book_id);
    return 0;
}

実行結果:

Book title : C Programming
Book author : Nuha Ali
Book subject : C Programming Tutorial
Book book_id : 6495407

typedef と #define の違い

#defineはCディレクティブで、typedefと同様に様々なデータ型のエイリアスを定義するためにも使用されますが、以下の違いがあります:

#defineをプログラムで使用する例:

Live Demo
#include <stdio.h>
#define TRUE 1
#define FALSE 0

int main() {
    printf("Value of TRUE : %d\n", TRUE);
    printf("Value of FALSE : %d\n", FALSE);
    return 0;
}

実行結果:

Value of TRUE : 1
Value of FALSE : 0

C言語

  1. 世界レベル製造・維持管理のためのリーンマシン:設備エクセレンス実践ガイド
  2. ISA、制御システム安全評価・信頼性の第3版を発行
  3. 新刊『OEEプライマー』:設備総合効率、信頼性、保全性をマスターする
  4. 2021年 コーディングスキルを飛躍させる厳選17冊のプログラミング本
  5. 書評:『Digitise or Die』——IoT駆動トランスフォーメーションの青写真
  6. 破壊的テクノロジー時代に人間らしさを保つには
  7. C# Hello World – 初めてのC#アプリケーション構築
  8. C# キーワードと識別子:ルール、一覧、ベストプラクティス完全ガイド
  9. C言語構造体:複雑なデータを効率的に整理
  10. C言語typedef:カスタム型名でコードをシンプルに
  11. C++データ構造:配列、構造体、ポインタで効率的なプログラムを構築