C言語におけるconst(四)

2130 ワード

constナレッジポイント-const宣言の変数は読み取り専用です
    const int i=5;
    int j=0;

    i=j;   //  ,      
    j=i;   //   

2.初期化が必要
const int i=5;    //  
const int j;      //  ,                

3.どのように別の.cソースファイルでconst定数を参照しますか?
extern const int i;         //  
extern const int j=10;      //  ,          

4.不要なメモリ割り当てを回避
#define STRING "abcdefghijklmn"
const char string[]="ABCDEFGHIJK";

printf(STRING);   // STRING        
printf(string);   // string       ,      

printf(STRING);   // STRING        
printf(string);      
/*   const            ,            ,     #define         ,  ,const                    , #define                。 */

5.C言語のconstは偽物で、強制タイプ変換によってアドレスを変数に割り当て、変更するとconst定数値を変更することができます.const変数一覧
int main(void)
{
    const int a;    //        
    int const b;    //          
    const char *c;  //             
                    // (            ,
                    //          )
    char * const d; //    (         ,
                    //                 )
    const char * const e;//             
                         // (            ,
                         //        )
    return 0;
}

constの利点はconstを合理的に利用して、1ポインタは関数のパラメータをして、有効にコードの可読性を高めることができて、bugを減らすことができます;2パラメータの入力と出力特性を明確に区別する