constの使い方は何ですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-06-20 11:38:584309ブラウズ

constの使い方は何ですか?

const の使用法は何ですか?

# const の使用法は次のとおりです:

1. const の一般的な使用法

int const size;
const int size;

これら 2 つステートメントはサイズを整数として宣言し、その値は変更できません。

宣言時に初期化できます。

int const size =10;

間違った使用法:

const int size =10;
char buffer[size];  

エラーは、size が特定のメモリ ブロックを占有しており、C コンパイラはそれを認識しないことです。それは値をコンパイルすることです。また、Cではデフォルトでconstが外部接続されるのでconstと書いても大丈夫です。

2.const はポインタに使用されます

(1)

const int *p;
int const *p;         //含义是指向常量的指针,指针的常量值不可以修改

どちらも同じです。p は常に整数へのポインタです。ポインタの値ですが、ポインタが指す値は変更できません。

int b = 5;
int c = 3;
const int *p=&b;
*p=6;    //错误,不能通过指针修改所指向的值;
p=&c;    //正确,可以修改指针的值 

(2)

int * const p;   //含义是常量指针,p的值不可以修改

p はポインタ、ポインタ p は定数で、その値は変更できませんが、p が指す整数の値は変更できます。

int b = 5;
int c = 3;
int *const p = &b;
*p = 6;  //正确,可以修改指针所值向的值
p =&c;   //错误,不可以修改指针的值 

(3)

const int * const p;

ポインタ自体とそれが指す値は両方とも定数です。

簡単な判定方法:

const が * の左側にある場合、const はポインタが指す変数を変更するために使用されます。つまり、ポインタはビット定数を指します。 ;

const が * の右側にある場合、const はポインター自体を変更します。つまり、ポインター自体は定数です。

3.const は関数の仮パラメータに使用されます

void foo(const int * p)

const が仮パラメータに使用される場合、それは仮パラメータが関数内では使用できませんので変更してください。この形式は通常、配列形式のパラメーターで値による呼び出しをシミュレートするために使用されます。これは const の最も便利な点でもあり、関数の仮パラメータを制限して、関数が実際のパラメータ ポインタが指すデータを変更しないようにします。ここで注意する必要があるのは、関数は変更できないということではなく、変更すべきではないということです。

4. 定数を宣言するその他の方法

C 言語では、enum 型と #define マクロを使用して定数を定義できます

#define MAX_SIZE 10;
int const max_size =10;

ここで使用します#define は const 変数を使用するよりも優れています。

前者は、配列の長さの宣言など、リテラル定数が許可される場所であればどこでも使用できます。

const 変数は、変数が許可されている場合にのみ使用できます。

推奨チュートリアル: 「cVideo チュートリアル

以上がconstの使い方は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。