Notice: Trying to access array offset on value of type bool in /var/www/html/wordpress/wp-content/plugins/internal-link-building-plugin/internal_link_building.php on line 86

Notice: Trying to access array offset on value of type bool in /var/www/html/wordpress/wp-content/plugins/internal-link-building-plugin/internal_link_building.php on line 105

C言語 構造体入門

c言語c言語, 構造体


Notice: Trying to access array offset on value of type bool in /var/www/html/wordpress/wp-content/plugins/internal-link-building-plugin/internal_link_building.php on line 86

Notice: Trying to access array offset on value of type bool in /var/www/html/wordpress/wp-content/plugins/internal-link-building-plugin/internal_link_building.php on line 105

普段オブジェクト指向の言語を使っていて、プロパティー等で変数を宣言して使っていますが、C言語では構造体というものを使ってプログラムを書くことになっていますので、構造体について紹介してみようと思います。自分の環境ですと、macを使って開発をしています。

構造体について

C言語では構造体というものが存在します。構造体では、データを関連する情報で塊のように扱うことができます。自分で型を作り、int型,char型,double型など様々な型をを持った変数をまとめて一つの型として宣言することができます。

構造体を使った簡単なサンプル

#include<stdio.h>
int main(){
  struct member{
    char name [20];
    int age;
  };
  struct member person[3];

  printf("%lu\n",sizeof(person));
}

memberという型を作ります。member型には,character型20個分の配列とint型の変数を含んでいます。
次にstruct member person[3]で通常宣言してきたように、member型のpersonという変数を要素数3で宣言します。

printf(“%lu\n”,sizeof(person));

ここではmember型のpersonという変数のサイズを出力しています。
実際に実行してみますと72という数字が出力されました。
これは、charcter型は1byeteで配列で20個分宣言していますので、1×20=20byteになります。次にint型の変数なので、4byeteになります。member型は,20byeteと4byeteを足して24byeteになります。
最後にmember型を配列で3つ分宣言していますので、24×3で72byeteとなります。