#02:スタックを実装しよう (1)
このチャプターでは、スタックの実装方法について学習します。
スタックは、最後に追加したデータを最初に取り出すことのできる、「後入れ先出し」のデータ構造です。
後入れ先出しは、"Last In, First Out" の頭文字をとって LIFO と呼ばれます。
define マクロは、配列の大きさを後から変更するときなどに便利です。#include <stdio.h>
#define N 10 // define マクロ
int main(void)
{
char buf[100];
fgets(buf, sizeof(buf), stdin);
char str[N]; // ここの N が書き換わる
sscanf(buf, "%s", str);
printf("hello %s\n", str);
}
ただし、N は変数ではないため、実行時に値を書き換えることはできません。
typedef を使うとデータ型に名前をつけることができます。
typedef は以下のようにして利用します。typedef データ型 新しい名前;
たとえば、int 型に Weight という名前をつける場合は以下のように記述します。#include <stdio.h>
typedef int Weight;
int main(void)
{
Weight w = 100;
printf("%d kg\n", w); //=> 100 kg
}
このチャプターで作成したコードです。// スタックを実装しよう(1)
#include <stdio.h>
#define N 10
typedef int data_t;
data_t stack[N];
int size;
void init(void)
{
size = 0;
}
int main(void)
{
}
C言語 : C言語のマクロの基本について
http://www.c-lang.org/detail/macro_basic.html
スタックの実装 - C言語/C++入門講座 ツナサーモン
https://tunasalmon.com/2017/09/24/スタックの実装/