| Written By:
川俣 晶 | 自分のためのメモです。 典拠はいちおう「プログラム言語C JIS X 3010:2003 (ISO/IEC 9899:1999)」です。(あまり厳密には読んでいないので、間違っている可能性あり) constとは何か §- 左辺値に書くことができない制約を付ける修飾語
- constant(定数)を連想させるconstキーワードを使うが、定数ではない。たとえば、const int a = 0;と書いた場合、0が格納されている変数aの実体は作成される。左辺値に書けないため、通常の方法では値を変更できないが、普通ではない方法を使えば値は変更できてしまう
- const int * pは、*pを左辺値に書けないポインタ変数を宣言する。pは左辺値に書ける
- int * const pは、pを左辺値に書けないポインタ変数を宣言する。*pは左辺値に書ける
- const int * const pは、p, *pの双方を左辺値に書けないポインタ変数を宣言する
enumとは何か §- intと相互変換可能な定数値を定義する
- enum型として宣言した変数に整数を代入することは問題なく可能。その値がenum foo型で宣言されている値ではなくとも問題はない
- 整数として宣言した変数に、enum型の値を代入することは問題なく可能
- 列挙を連想させるenumキーワードを使うが、実質としては定数に近い。しかし、enum型で宣言された変数は整数型の変数に近い
- ただし、enum型はintと同じビット数の表現力を持つとは限らないので、任意の整数を入れてそれがそのまま取り出せるかは分からない
感想 § 自分の中でもやもやして的確な説明ができなかったので改めて調べてみると、かなりねじれていました。これは、もやもやして当然ですね。 |
|
|
キーワード【
▲→川俣晶の縁側→ソフトウェア→技術雑記】
|
【技術雑記】の次のコンテンツ | 2009年 03月 28日 | | 3days 0 count total 10115 count |
|
【技術雑記】の前のコンテンツ | 2009年 03月 11日 | | 3days 0 count total 8457 count |
|
|
このコンテンツを書いた川俣 晶へメッセージを送る
[メッセージ送信フォームを利用する]
メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。
この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。
このコンテンツへトラックバックするためのURL
http://mag.autumn.org/tb.aspx/20090314173018 |
管理者:
川俣 晶
Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.