No.3
- 回答日時:
NULLマクロは右辺値である空ポインタ定数に展開されますので、(単項の)&演算子のオペランドにはなれないはずです。
処理系が何かわかりませんが、未定義の動作を引き起こしているのでしょう。
> アドレスの0番地とNULLは関係ないのでしょうか?
Cの仕様における「アドレス」とハードウェアの「アドレス」は必ずしも一致しませんが、いずれにせよ直接は関係ありません。
No.2
- 回答日時:
あなたは、C言語の変数に、何か”値”以外のものが入れられると考えているのですか?
プログラムを作る上で”無効なポインタの値”を表すものがあると何かと便利なので、NULLという定義が規定されましたが、その値は、有効なアドレス値でない必要があります。
「たまたまあなたの環境で、"0" を無効アドレス値に使えたので」ので、その値を使っているだけです。
(大体、0番地は、プロセスのアドレス空間で有効でない環境が多い)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Perl 画像が表示でnull; this.src 1 2022/04/19 11:31
- C言語・C++・C# 関数ポインタの高速化のメリット 7 2023/05/05 20:15
- Excel(エクセル) Excelでnullになるような式のセルをマクロで空白行と認識させるにはどうすればいいですか? 3 2023/03/13 13:42
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語の関数と配列に関する質問
-
セグメントエラー
-
fopne で失敗する原因
-
main(int argc,char **argv[])...
-
ポインタ同士の割り算
-
C/C++言語 の 浮動小数点定数/...
-
popenした子プロセスのプロセス...
-
VC++6.0 MFC ダイアログバーを...
-
参照型で受け取った引数をポイ...
-
voidポインタ
-
DLL<->VB間での受け渡し(文字...
-
c言語で任意のファイルから読み...
-
C言語での`void**`の意味
-
C言語で構造体の参照渡しができ...
-
init関数の意味
-
C言語、配列とポインタとアスタ...
-
C言語のポインタとスタックポイ...
-
ポインタのポインタを引数にも...
-
x64プログラムでアドレスが32bi...
-
C言語 ポインタ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セグメントエラー
-
C言語のポインタに直接アドレス...
-
init関数の意味
-
戻り値で構造体を返すことは可...
-
fopne で失敗する原因
-
C言語の関数と配列に関する質問
-
Run-Time Check Failure #3とい...
-
LPSTR型の初期化について
-
ExcelVBAでのkernel32(64bit)
-
main(int argc,char **argv[])...
-
アプリを32bitから64bit移行
-
連結リスト 要素の入れ替え
-
ハンドルはポインタか
-
Cで作成したDLL関数をVBから呼...
-
C言語でのconstを返す関数
-
NULLとブランクの違い
-
エラーの意味
-
DLL<->VB間での受け渡し(文字...
-
ハンドル、アドレス、ポインタ...
-
【C言語】戻り値が構造体の関数
おすすめ情報