スポンサードリンク
HOME > C言語 > 構造体のポインタ

C言語 - 構造体のポインタ

今回は、構造体のポインタを使ってみましょう。

ファイル名:main.c
#include <stdio.h>
#include <string.h>

/* 構造体hitoを定義 */
struct hito {
   int age;     /* 年齢 */
   char blood[3];  /* 血液型 */
};

void main(void) {

   /* hito型変数masasiを宣言 */
   struct hito masasi;

   /* hito型構造体のポインタ変数pを宣言 */1
   struct hito* p;

   /* 構造体masasiの先頭アドレスをポインタ変数pに代入 */2
   p = &masasi;

   /* まさし君のプロフィールを設定 */
   p->age = 10;3
   strcpy(p->blood, "A");3

   /* 年齢、血液型表示 */
   printf("まさしくんのプロフィール\n");
   printf("年齢:%d歳\n", p->age);4
   printf("血液型:%s型\n", p->blood);4

}

プログラムを実行すると以下のようになります。



ソースダウンロード

まずは、で構造体hito型のポインタを宣言します。

続いてで構造体masasiの先頭アドレスをpに代入します。

そしてでは、pが指す値、
つまり構造体masasiの年齢、血液型を代入しています。

通常の構造体であれば、要素にアクセスするのにドット)を使いましたが、
構造体のポインタは、構造体の先頭アドレスが入っていれば
その構造体の全要素に->アロー演算子)でアクセス可能となります。

は同じように表示しているだけです。



スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved