データを保護するために使用することが1.const:例の手順を以下に示し、配列show_arrayその値関数を変更しないで保護されていてもよいです。
1つの#include <stdio.hの> 2 の#define SIZE 5 3 ボイド show_arry(CONST ダブル AR []、int型N); 4 空隙 mult_array(二重 AR []、int型、N 二重MULT)を、 5 INTメイン(ボイド) 6 { 7 ダブルディップ[SIZE] = { 20.0、3.2、5.3、63.0、6.3 }。 8 9 のprintf(" オリジナルディップアレイ:\ nは" ); 10 show_arry(ディップ、SIZE); 11 mult_array(ディップ、SIZE、5.0 ); 12 のprintf(" mult_array(callling後ディップアレイ):の\ n " ); 13 show_arry(ディップ、SIZE); 14 15 リターン 0 ; 16 } 17 18 19 空隙 show_arry(CONST ダブル AR []、int型N) 20 { 21 INT Iを、 22 のために(i = 0 ; iがn <; iは++ ) 23 printf(" %の8.3f " 、AR [I])。 24 のputchar(' の\ n ' ); 25 } 26 27 空隙 mult_array(二重 Arは[]、int型 nは、ダブルMULT) 28 { 29 INT I。 30 のために(i = 0 ; iがn <; I ++ ) 31 AR [I] * = MULT。 32 33 }
2.
ダブル料金= {} 2.3,3.1,56.0; [3]
CONST * PD =空ダブル;
、それはPDポイント値を変更するために使用することができない場合:
* PD = 29.89; //ができない
PDを[2] = 22.13。 //許容
速度[0] = 22.33は、レートが、constと定義されていないので、許容//
ダブル料金= {} 2.3,3.1,56.0; [3]
CONST * PD =空ダブル;
、それはPDポイント値を変更するために使用することができない場合:
* PD = 29.89; //ができない
PDを[2] = 22.13。 //許容
速度[0] = 22.33は、レートが、constと定義されていないので、許容//
しかし、それはつまり、どこか別の場所へのポインタを許可しない:
PDの++を; //許可します
PDの++を; //許可します
3.一般に、データを変更しないポインタの機能を表すために使用されるCONST関数パラメータへのポインタ:
ボイドshow_array(CONST *ダブルのAr、N-INT);
1)またはポイントに初期化データのconstのconst CONSTデータのアドレス。または法的であるポインタに値を割り当てます。
2)のみアドレスデータは、通常の非constポインタに割り当てられることができます。
ボイドshow_array(CONST *ダブルのAr、N-INT);
1)またはポイントに初期化データのconstのconst CONSTデータのアドレス。または法的であるポインタに値を割り当てます。
2)のみアドレスデータは、通常の非constポインタに割り当てられることができます。
4.
[3]をダブル料金= {} 2.3,3.1,56.0、
ダブルPC =定数*空;
宣言し、他の場所、つまりすることはできませんポインタを初期化:
PCが++; //許可されていません
、それは、そのポイントを変更することができます値:
* PC = 50.2は//許可
[3]をダブル料金= {} 2.3,3.1,56.0、
ダブルPC =定数*空;
宣言し、他の場所、つまりすることはできませんポインタを初期化:
PCが++; //許可されていません
、それは、そのポイントを変更することができます値:
* PC = 50.2は//許可
5.
ダブル料金= {} 2.3,3.1,56.0 [3]、
CONST =鉛*空ダブルCONST;
、いずれ変化を指すポインタの値も、すなわち、その点を変更
PB =&レート[1]。 //許可されていません
* PB = 3.0; //許されません
ダブル料金= {} 2.3,3.1,56.0 [3]、
CONST =鉛*空ダブルCONST;
、いずれ変化を指すポインタの値も、すなわち、その点を変更
PB =&レート[1]。 //許可されていません
* PB = 3.0; //許されません