/ .trash / Comment[2]
/* 1.ヘッダファイルのインクルード */
#include <stdio.h>
#include <stdlib.h>

/* 2.マクロ定義 */
#define NULL_VALUE "NULL"
#define PROGRAM_NAME "sample"

/* 3.関数のプロトタイプ宣言 */
int get_calue();
double calc(int n);

/* 4.大域変数 */
char *env_val;

/* 5.main関数 */
int main()
{
int value;
double result;

/* 環境変数からせいの値を取り出す。結果が0以下ならエラー */
value = get_value();
if (value <=0){
printf("%s: illegal value(%s)\n",PROGRAM_NAME, env_val);
return 1;
}

/* 取り出した値に対して何らかの計算を行う */
result = calc(value);
printf("%s: %f\n", PROGRAM_NAME, result);
return 0;
}

/* get_value関数:環境変数から値を取り出す */
int get_value()
{

/* 環境変数VALUEの値を取り出す。未定義なら0を返す */
env_val = getenv("VALUE");
if (env_val == NULL) {
env_val = NULL_VALUE;
return 0;
}

/* 取り出した値を数値に変換して返す */
return atoi(env_val);
}


大域変数


プログラム内では他の関数との間で値の受け渡しを行う、あるいは計算した出結果を一時的に保持しておくといった目的のために、データの入れ物を必要とする。
データの入れ物として用意されている仕組みが、変数と呼ばれるもの。
変数に値を格納しておけば、その値を別の場所で参照することが出来る。また、変数に別の値を代入すれば、その変数が保持している値を変更することも出来る。変数を使うには、あらかじめ型名 変数名という士気によって変数を定義しておく必要がある。
Cでは、ある関数内で定義された関数は、その関数の中だけでのみ参照が可能。
このような変数は局所変数と呼ばれている。しかしmain.c無いのenv_valという変数4.は、関数の外部で定義されている点に注意。
このような変数は大域変数と呼ばれプログラム中のすべての場所から参照、代入が可能となっている。

型とポインタ

Cでは、全ての変数は型を持っている。
Cの型には単一の文字を示すchar、整数を示すint、実数を示すdoubleなどがある。また、typedefというキーワードを利用すれば、特定の型に別の名前をつけることも可能。例えばUNIXにはIDを示す型としてuid_tという型が用意されているが、これは実際にはshortという、intよりも小さな数しか格納できない整数型への別名となっている。
複雑なデータ型を示すためには、構造体と呼ばれる概念を利用する。構造体とは内部に複数の値を保持するために型で、複数の変数の組み合わせとして定義されている。
構造体内部の変数は、メンバと呼ばれている。
関連記事

コメント

そうなんですよぉ

| URL | Phantom#eBFlP5so

No title

プログラムの勉強でもしてるんですか?

| URL | あやき#-

:
:
:
:
:
管理人のみ表示を許可