[過去ログ] C言語なら俺に聞け 163 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
139: はちみつ餃子◆8X2XSCHEME (ワッチョイ 7932-IU9Y) 2024/09/14(土)10:49:21.06 ID:N2YvcTj50(3/14) AAS
>>138
前述の通り整数リテラルは右辺値 (rvalue)。
文字列リテラルは例外的な存在だ。

まず、 C の用語では「オブジェクト」と「値」は違う意味を持つ。
メモリ上のビットパターンがオブジェクトで、値は式の結果だ。
(規格用語では data storage だがここではあえてカジュアルな用語で言うことにする。)

そして式の結果は lvalue と rvalue に区分される。
オブジェクトに結び付いている値が lvalue だと考えていい。
個々に規定があるので詳細は割愛するが、
式の中で変数名だとか単項 * 演算だとか [] とかがあればそれはメモリ上に存在してるのは明白だろ?
そういうのが lvalue 。

たとえば 1+3+5 みたいな式があれば途中で 4 という値が生じるが、これは「どこ」にある?
場所に結び付いておらず、式が終われば破棄されることになってる。
こういうのが rvalue 。

ちなみに lvalue も rvalue が要求される文脈では rvalue に変換される。 (メモリから値が読みだされる。)
299: (ワッチョイ 3679-NO1F) 2024/11/03(日)17:27:36.06 ID:4RaSizfZ0(1) AAS
char []s = "うんこ"
s[20] = 0; // どっか判り難いとこにこんなのが紛れてる
回答「(sに)もっとスペースを追加して!」
408: (ワッチョイ ff76-J7R8) 2024/11/30(土)20:06:07.06 ID:k7UOR52k0(8/8) AAS
1, 4, 8以外のエラー処理が無ければ手抜きプログラムだよ
446: はちみつ餃子◆8X2XSCHEME (ワッチョイ 4732-f5HH) 2024/12/10(火)22:13:12.06 ID:ujXLUuNp0(1) AAS
>>443-444
もし C++ の話なら上述 (>>424) の restrict の説明が役に立たない。
C++ に restrict は無いから。
587: (ササクッテロラ Sp3b-7ROj) 01/31(金)11:49:46.06 ID:h9+hJoTPp(2/2) AAS
ドライバの秘孔を突いてカメラに搭載のチップが電源ライン直結になったとかじゃね?
728
(3): はちみつ餃子◆8X2XSCHEME (ワッチョイ 2170-a7BF) 03/20(木)17:31:14.06 ID:PqZkwPwR0(1) AAS
GCC では遅くても 2.95.3 には attribute で文字列が書式であることを指定できて型チェックする機能はあった模様。(2001年頃)
外部リンク[html]:gcc.gnu.org
ただな、このスレにいるようなおじさんの言う「昔」は 1980 年頃の話だったりするんよ。
MS-DOS 用とか CP/M 用とかのコンパイラの話なんよ。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.036s