アットウィキロゴ
Take me away.
掲示板 掲示板 ページ検索 ページ検索 メニュー メニュー

Take me away.

C言語

最終更新:

foreign_blue

- view
管理者のみ編集可

const

プリミティブ型

const int i=0;
i=++; //コンパイルエラー

int const i=0;  // const int i=0; と同じ

ポインタ

型名の前にconstを書くとポインタの参照先を変更できない
 char a[3] = { 1, 2, 3 };
 const int *p = a;
 *p = 0;    //エラー

下の2つは同じ意味
 const int *p;
 int const *p;

役に立つケース
 void print(const char *s) {
    puts(s);
   //この関数内では s[0]='\0'; などとは出来ない
 }

[*]の後にconst修飾子を付けるとポインタ変数の示す番地が変更できない。
int a[3] = { 1, 2, 3 };
int * const p = a;
p++;   //a[1]=2 のポインタを得ようとするとコンパイルエラー





静的(static)関数のプロトタイプ宣言

  • 関数名の前に static を付けると、そのファイル内からしか参照できなくなる。
    • イメージとしては private 関数に近い。
  • プロトタイプ宣言はソースファイル中で行い、ヘッダファイルに書かない。
最近更新されたスレッド
ウィキ募集バナー