!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
※前スレ
C言語なら俺に聞け 156
https://mevius.5ch.net/test/read.cgi/tech/1601271690/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C言語なら俺に聞け 157
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0345-kMi9)
2021/06/28(月) 11:22:51.50ID:so+vl3vs0449デフォルトの名無しさん (ワッチョイ 9f21-qjSG)
2021/08/26(木) 07:03:21.90ID:H9rsGF960 &aはint*型のアドレス値(右辺値)で、変数ではないから代入は出来ない。
言葉の厳密な定義は知らんが、自分はポインタは型に紐付いたアドレスと理解してる。
組み込みなんかで
uint32_t a = 0x4020000;
...
*(int*)a = 1;
とか書くけどa自体はただの整数値だしね。
言葉の厳密な定義は知らんが、自分はポインタは型に紐付いたアドレスと理解してる。
組み込みなんかで
uint32_t a = 0x4020000;
...
*(int*)a = 1;
とか書くけどa自体はただの整数値だしね。
450デフォルトの名無しさん (ワッチョイ ffe7-Awm0)
2021/08/26(木) 09:15:02.06ID:GExK9GsR0451デフォルトの名無しさん (ワッチョイ 9f45-Awm0)
2021/08/26(木) 09:25:24.33ID:IpfDe45b0 アドレスも年齢も表現の対象
ポインタとintが型の名前
ポインタとintが型の名前
452デフォルトの名無しさん (ワッチョイ 9f45-Awm0)
2021/08/26(木) 09:26:46.39ID:IpfDe45b0 ageMipoとioDirectionがアプリケーションハンガリアン
iMipoとpDirectionがシステムハンガリアン
iMipoとpDirectionがシステムハンガリアン
453デフォルトの名無しさん (ワッチョイ 7f81-WQfa)
2021/08/26(木) 14:51:44.03ID:BSY6c8/C0 >>441
みればわかりますよね?
みればわかりますよね?
454デフォルトの名無しさん (ワッチョイ 7f3e-T33Q)
2021/08/26(木) 16:05:40.12ID:oVdr9HnU0 言語仕様の文面の上ではアドレスとポインタの区別ははっきりしないので同一視してもかまわないとは思う。
少なくともポインタという用語がポインタ型の変数を指すという主張には賛成できないというだけ。
ただ、言語仕様の範囲内ではそれでいいんだけども言語仕様の範囲外というか実装上の理屈では区別している場合がある。
言語仕様上はポインタの比較は同一の配列 (または集成体オブジェクト) 内の要素を比較した場合や
ヌルポインタとの比較についてしか定義されておらず、それ以外は未定義であると明記 (C99 6.5.8 参照) されていて
関連のない場所のポインタの比較であることが静的に把握できるときは定数に置き換える最適化が適用されることもあるんで
アドレスを比較した通りの結果になるとは限らない。
https://wandbox.org/permlink/SqW5wzZM3fD912Nh
そんなわけでポインタが素朴なアドレス (実体が整数値) だと思っていると思わぬ結果を生むことも有る。
少なくともポインタという用語がポインタ型の変数を指すという主張には賛成できないというだけ。
ただ、言語仕様の範囲内ではそれでいいんだけども言語仕様の範囲外というか実装上の理屈では区別している場合がある。
言語仕様上はポインタの比較は同一の配列 (または集成体オブジェクト) 内の要素を比較した場合や
ヌルポインタとの比較についてしか定義されておらず、それ以外は未定義であると明記 (C99 6.5.8 参照) されていて
関連のない場所のポインタの比較であることが静的に把握できるときは定数に置き換える最適化が適用されることもあるんで
アドレスを比較した通りの結果になるとは限らない。
https://wandbox.org/permlink/SqW5wzZM3fD912Nh
そんなわけでポインタが素朴なアドレス (実体が整数値) だと思っていると思わぬ結果を生むことも有る。
455デフォルトの名無しさん (ワッチョイ 9f45-Awm0)
2021/08/26(木) 16:26:17.74ID:IpfDe45b0 気持ちだけは、俺も昔そう思いたかったことがあるけど
JIS X3010ではそうなっていないので、その気持ちはきっぱり捨てた
JIS X3010ではそうなっていないので、その気持ちはきっぱり捨てた
456デフォルトの名無しさん (ワッチョイ ffe7-Awm0)
2021/08/26(木) 16:56:32.08ID:GExK9GsR0 int a; のときに &a+1 とかやると sizeof(int) 進むのね!
マジかよ知らなかった!
じゃあこの &a はほぼポインタだと思っていいのかな? いいの?
マジかよ知らなかった!
じゃあこの &a はほぼポインタだと思っていいのかな? いいの?
457デフォルトの名無しさん (ワッチョイ 9f45-Awm0)
2021/08/26(木) 17:01:04.55ID:IpfDe45b0 「ほぼ」じゃなく明白にポインタ
458はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f3e-T33Q)
2021/08/26(木) 17:09:18.58ID:oVdr9HnU0459デフォルトの名無しさん (ラクッペペ MM4f-2CIX)
2021/08/26(木) 18:57:41.72ID:B7a9vIltM aはint型の変数
&aは変数aをアドレス演算子&で評価した値
得られた値の型はintへのポインタ型int*
&aは変数aをアドレス演算子&で評価した値
得られた値の型はintへのポインタ型int*
460デフォルトの名無しさん (オッペケ Sr73-qjSG)
2021/08/26(木) 19:23:18.52ID:2RMrl6dxr >>456
例から少し外れるけど*(&a[0])に対して*(&a[0]+1)がおかしな場所指すと嫌だしな。
例から少し外れるけど*(&a[0])に対して*(&a[0]+1)がおかしな場所指すと嫌だしな。
461デフォルトの名無しさん (ワッチョイ 1fbb-T33Q)
2021/08/26(木) 19:47:54.06ID:aNUIA15f0 ポインタ型の変数→ポインタ、ポインタ変数
ポインタ型の値→ポインタ、アドレス
アドレス演算子の結果→ポインタ、アドレス
こういうことか
ポインタ型の値→ポインタ、アドレス
アドレス演算子の結果→ポインタ、アドレス
こういうことか
462デフォルトの名無しさん (ワッチョイ 9f01-Awm0)
2021/08/26(木) 22:07:08.65ID:cHqKnQ440 そして配列 int a[5] から a は何者? 引数に渡すとどーなる? という深淵な所へ
463デフォルトの名無しさん (ワッチョイ 5145-Ctl7)
2021/08/27(金) 07:17:43.92ID:5AM8fV7q0464デフォルトの名無しさん (ワッチョイ 8269-JMbW)
2021/08/27(金) 08:24:46.38ID:TRiQmtYg0 > int b = &a;
ポインタ型の値を整数型の値に暗黙に変換して代入
ポインタ型の値を整数型の値に暗黙に変換して代入
465デフォルトの名無しさん (オッペケ Sr51-pLPt)
2021/08/27(金) 09:31:13.97ID:sfbhubJqr >>464
gccでやったら注意された。g++でやったらガチギレされた。
gccでやったら注意された。g++でやったらガチギレされた。
466デフォルトの名無しさん (ガラプー KK16-Cwam)
2021/08/27(金) 09:39:50.45ID:02SXv6gRK467デフォルトの名無しさん (ワッチョイ 8269-JMbW)
2021/08/27(金) 09:43:34.61ID:TRiQmtYg0 ポインタを整数値として変換した際、その値が int の範囲内に収まるかどうかは環境でまちまちやでねぇ
468デフォルトの名無しさん (ワッチョイ 5145-Ctl7)
2021/08/27(金) 09:54:11.87ID:5AM8fV7q0 ここはCスレ
C++の参照はスレ違い
C++の参照はスレ違い
469デフォルトの名無しさん (ガラプー KK16-Cwam)
2021/08/27(金) 10:16:24.88ID:02SXv6gRK470デフォルトの名無しさん (ワッチョイ 8269-JMbW)
2021/08/27(金) 10:21:47.24ID:TRiQmtYg0 わかってないのに短絡で int は危ないけど
LP64 やら LLP64 やら ILP64 やら
自分のがどうなってるかわかっててやるか、ポータビリティを鑑みて気を使った書き方するか
LP64 やら LLP64 やら ILP64 やら
自分のがどうなってるかわかっててやるか、ポータビリティを鑑みて気を使った書き方するか
471デフォルトの名無しさん (ワッチョイ 5145-Ctl7)
2021/08/27(金) 10:44:46.26ID:5AM8fV7q0 ポインタのビット列を格納しきれる整数型が必ず存在する保証って箇条どこだっけ
472デフォルトの名無しさん (ワッチョイ eebb-icxm)
2021/08/27(金) 11:00:51.55ID:nK81wxcE0 >>469
いまや大抵の環境でintじゃ足りないだろ。大丈夫か?
いまや大抵の環境でintじゃ足りないだろ。大丈夫か?
473はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 423e-3Axr)
2021/08/27(金) 11:13:41.38ID:i+fGpSJz0 >>471
6.3.2.3 では「結果は何らかの整数型の値の範囲に含まれているとは限らない」とあるし、
7.18.1.4 では intptr_t は省略可能であるともあるので保証はないと解釈すべきだと思う。
6.3.2.3 では「結果は何らかの整数型の値の範囲に含まれているとは限らない」とあるし、
7.18.1.4 では intptr_t は省略可能であるともあるので保証はないと解釈すべきだと思う。
474デフォルトの名無しさん (ワッチョイ 5145-Ctl7)
2021/08/27(金) 11:49:10.69ID:5AM8fV7q0475デフォルトの名無しさん (ワッチョイ eebb-icxm)
2021/08/27(金) 12:26:48.67ID:nK81wxcE0 >>474
馬鹿なの?主要pfのintサイズも知らないのかよ
馬鹿なの?主要pfのintサイズも知らないのかよ
476デフォルトの名無しさん (ワッチョイ 5145-Ctl7)
2021/08/27(金) 12:55:50.72ID:5AM8fV7q0 日本語でおk
477デフォルトの名無しさん (ワッチョイ eebb-icxm)
2021/08/27(金) 14:37:29.53ID:nK81wxcE0 うわ基地外に触っちまった
478デフォルトの名無しさん (ワッチョイ 6991-hsyq)
2021/08/27(金) 15:11:03.04ID:28SvbL190 友達いて良かったじゃないか
479デフォルトの名無しさん (ワッチョイ 5145-Ctl7)
2021/08/27(金) 18:08:24.28ID:5AM8fV7q0 よしてくれ
直接的な罵倒語で話す次元のやつと一緒にすんな
直接的な罵倒語で話す次元のやつと一緒にすんな
480デフォルトの名無しさん (ワッチョイ 4281-bHCE)
2021/08/27(金) 19:45:46.03ID:dNdDj0y10 >>479
○すぞ
○すぞ
481デフォルトの名無しさん (ワッチョイ c95f-Ctl7)
2021/08/27(金) 22:47:56.20ID:3kbeL8sr0 愛すぞ
482デフォルトの名無しさん (アウアウウー Sa85-0BKB)
2021/08/27(金) 23:16:53.36ID:fvnuyojga 推すぞ
483デフォルトの名無しさん (ワッチョイ 61da-Y/PZ)
2021/08/27(金) 23:51:09.87ID:5LgeY8Yf0 スッゾオラー!
484デフォルトの名無しさん (アウアウクー MM11-bmw4)
2021/08/28(土) 00:56:23.65ID:TAUITiELM >>479
諭すぞ
諭すぞ
485デフォルトの名無しさん (ワッチョイ 1163-U7Lh)
2021/08/28(土) 01:07:55.46ID:ArBPUbYg0 宿題のことも思い出してやって
486デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
2021/08/28(土) 02:24:48.25ID:Kasf1Z4n0 >>358
レターは文字の集合。キャラクターとしたのは文字として認識していない記号等を含めたため。
レターは文字の集合。キャラクターとしたのは文字として認識していない記号等を含めたため。
487デフォルトの名無しさん (ワッチョイ 4281-bHCE)
2021/08/28(土) 14:36:23.66ID:0ROz2KLh0 >>486
なるほど
なるほど
488デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
2021/08/28(土) 19:25:44.91ID:Kasf1Z4n0 >>487
制御文字を含めたのも理由かな
制御文字を含めたのも理由かな
489デフォルトの名無しさん (ワッチョイ 4281-bHCE)
2021/08/28(土) 19:26:13.75ID:0ROz2KLh0 >>488
なるほど
なるほど
490デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
2021/08/28(土) 19:38:40.56ID:Kasf1Z4n0 文字のことをキャラクターと呼び始めたのはC言語じゃねえよ。
13年前にできたCOBOLですらキャラクターと呼んでんだぜ?
13年前にできたCOBOLですらキャラクターと呼んでんだぜ?
491デフォルトの名無しさん (ワッチョイ fdad-9F4v)
2021/08/28(土) 19:51:11.77ID:foB6MXRR0 俺に聞けって言われてもな
なに聞いたらいいかわからん
変に言語のマニアックな知識つけるより、アルゴリズム沢山知ってた方がいいと思うから言語や開発環境についてはvalgrindとかcmakeとか基本的なことを身に付いてればそれで十分だと思ってるわ
だからすまんけど聞きたいことはない
なに聞いたらいいかわからん
変に言語のマニアックな知識つけるより、アルゴリズム沢山知ってた方がいいと思うから言語や開発環境についてはvalgrindとかcmakeとか基本的なことを身に付いてればそれで十分だと思ってるわ
だからすまんけど聞きたいことはない
492デフォルトの名無しさん (ワッチョイ 6e46-NOxv)
2021/08/28(土) 19:58:54.24ID:J7/U097I0493デフォルトの名無しさん (ワッチョイ 1163-U7Lh)
2021/08/28(土) 20:03:04.96ID:ArBPUbYg0 C言語が1972年、COBOLが1959年
こういうことを言いたいのでは無いか?
こういうことを言いたいのでは無いか?
494デフォルトの名無しさん (ワッチョイ 6921-pLPt)
2021/08/28(土) 20:08:53.74ID:GTTRCLIA0 子供の英会話聞いてるとletter aとか頻出するが、まだキャラクターは出てこないな。
495デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
2021/08/28(土) 21:27:40.38ID:Kasf1Z4n0 キャラクターの本来の意味は文字じゃないんだぜ?
あたりまえなんだぜえ?
あたりまえなんだぜえ?
496デフォルトの名無しさん (ワッチョイ ad85-Wwpo)
2021/08/29(日) 01:18:09.40ID:TPHdi4yb0 >言いたいのでは無いか?
ここの「無い」に漢字を使うことに違和感感じるのは漏れだけ?
ここの「無い」に漢字を使うことに違和感感じるのは漏れだけ?
497デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
2021/08/29(日) 01:49:09.89ID:HDdtcjYC0 「〇〇ではないのか。」の「ない」は形容詞。
ただし、これは形容詞を代用した言い回しなので、「無い」とはっきり形容とわかる使い方以外の場合は、日本語のおかしさが出てしまうので違和感がある。
そもそもわざわざ「ない」を「無い」と書く必要がない。戦後教育では漢字で書かなくてもわかることは仮名で書くと決めて、学校では漢字で書かないよう指導しているのに、漢字で書くやつはそれをすっかり忘れているだけだ。
ただし、これは形容詞を代用した言い回しなので、「無い」とはっきり形容とわかる使い方以外の場合は、日本語のおかしさが出てしまうので違和感がある。
そもそもわざわざ「ない」を「無い」と書く必要がない。戦後教育では漢字で書かなくてもわかることは仮名で書くと決めて、学校では漢字で書かないよう指導しているのに、漢字で書くやつはそれをすっかり忘れているだけだ。
498デフォルトの名無しさん (ワッチョイ 1163-U7Lh)
2021/08/29(日) 01:52:08.61ID:5p1Kcso30 割とどうでもいい話だな
国語教育スレにでもうつってそこで続けてくれ
国語教育スレにでもうつってそこで続けてくれ
499デフォルトの名無しさん (ワッチョイ 6e46-NOxv)
2021/08/29(日) 02:38:33.54ID:7/doTy/i0 > 違和感感じる
に違和感覚えるのは漏れだけ?
に違和感覚えるのは漏れだけ?
500デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
2021/08/29(日) 02:48:49.23ID:HDdtcjYC0501デフォルトの名無しさん (ワッチョイ 02ad-U7Lh)
2021/08/29(日) 04:28:31.20ID:Lt7wAmk40 無いと言えばこの前ドイツ語の映画で Nein って言ってる時に日本語字幕に「無い」と出ていて一致していて笑った。
502デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
2021/08/29(日) 05:28:11.66ID:HDdtcjYC0 >>501
否定の言葉の発音がNで始まるのは人類共通
否定の言葉の発音がNで始まるのは人類共通
503デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
2021/08/29(日) 05:30:35.87ID:HDdtcjYC0 人類が言葉を話す前の拒否を表す叫びが言葉になったのだろう。
504デフォルトの名無しさん (ワッチョイ a5bb-U7Lh)
2021/08/29(日) 08:16:38.59ID:0FIWs/PL0 いやだ!
やめろ!
はNじゃないけど
やめろ!
はNじゃないけど
505デフォルトの名無しさん (アウアウウー Sa85-0BKB)
2021/08/29(日) 08:19:11.41ID:z+CvjRY2a スモモモモモモモモ
506デフォルトの名無しさん (ガラプー KK16-Cwam)
2021/08/29(日) 08:43:55.40ID:kXE2QuW0K507デフォルトの名無しさん (ワッチョイ 2236-u6Y8)
2021/08/29(日) 08:46:40.86ID:XBz6dM210 離散データを連続データのように見せかけるフィルターを作りたい。
アルゴリズム名を教えてください。
アルゴリズム名を教えてください。
508デフォルトの名無しさん (ワッチョイ 5145-Ctl7)
2021/08/29(日) 08:51:04.40ID:s3BI9dN30 不是
↑
Nで始まるどころか含まれてもいない
↑
Nで始まるどころか含まれてもいない
509デフォルトの名無しさん (ワッチョイ 3d5f-Wwpo)
2021/08/29(日) 09:56:38.96ID:Qq6uUubw0 _countof を使うべきですか?
https://docs.microsoft.com/ja-jp/cpp/c-runtime-library/reference/countof-macro?view=msvc-160
もっと良い計数方法ありますか?
https://docs.microsoft.com/ja-jp/cpp/c-runtime-library/reference/countof-macro?view=msvc-160
もっと良い計数方法ありますか?
510デフォルトの名無しさん (ワッチョイ 3d5f-Wwpo)
2021/08/29(日) 10:01:34.24ID:Qq6uUubw0 >>502
フランス語には何故 pas があるの?
フランス語には何故 pas があるの?
511デフォルトの名無しさん (エムゾネ FF22-pzwr)
2021/08/29(日) 10:14:57.45ID:LcGcn6bDF512デフォルトの名無しさん (NZ 0H4a-Wux5)
2021/08/29(日) 16:11:09.82ID:bszwbM+aH513デフォルトの名無しさん (ワッチョイ c101-ahI4)
2021/08/29(日) 16:24:27.16ID:Gww7yuPw0 >>510
neの発音が小さくて聞き取れないから付けることになった
neの発音が小さくて聞き取れないから付けることになった
514デフォルトの名無しさん (ワッチョイ 02ad-U7Lh)
2021/08/29(日) 17:57:42.29ID:Lt7wAmk40 nulぽ
515デフォルトの名無しさん (ワッチョイ ada2-m34F)
2021/08/29(日) 18:16:18.76ID:jyQ+I+xW0 ( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←>>514
(_フ彡 /
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←>>514
(_フ彡 /
516デフォルトの名無しさん (ワッチョイ 1163-U7Lh)
2021/08/29(日) 18:44:57.73ID:5p1Kcso30 日本語だとにゃー、英語だとmew
517507 (ワッチョイ 2236-u6Y8)
2021/08/29(日) 19:19:21.76ID:XBz6dM210 投稿するスレッドを間違えてしまったかもしれません。>>507
それ以後、いろいろ調べつづけましたが、
どうやら内挿法とか補間法とか呼ばれていることが分かりました。
そのためのアルゴリズムを探してみます。
ありがとうございました。
それ以後、いろいろ調べつづけましたが、
どうやら内挿法とか補間法とか呼ばれていることが分かりました。
そのためのアルゴリズムを探してみます。
ありがとうございました。
518デフォルトの名無しさん (ワッチョイ 1163-U7Lh)
2021/08/29(日) 19:26:53.70ID:5p1Kcso30 宿題スレやお題スレなら、反応があるかも知れん
519507 (ワッチョイ 2236-u6Y8)
2021/08/29(日) 19:40:59.03ID:XBz6dM210 離散的なデータのプロットから滑らかな曲線を得たいのですが、
ベジェ曲線を使う必要があるため、それも計算する必要があります。
ではこの辺でさようなら。
ベジェ曲線を使う必要があるため、それも計算する必要があります。
ではこの辺でさようなら。
520デフォルトの名無しさん (アウウィフ FF85-4thN)
2021/08/30(月) 14:56:32.12ID:a7szkEqkF FFT
521デフォルトの名無しさん (アウアウウー Sa85-0BKB)
2021/08/30(月) 17:40:48.45ID:7tjRHlOya Final Fantasy XII
522デフォルトの名無しさん (ワッチョイ 6101-Ctl7)
2021/08/30(月) 22:24:16.28ID:u8tdK0uP0 与えられた離散的な点を必ず通る曲線なのか適度に近いとろこを通す曲線なのか
523デフォルトの名無しさん (アウアウウー Sa85-0BKB)
2021/08/31(火) 20:16:31.77ID:5EZjygd6a Fire Fox TV
525デフォルトの名無しさん (ワッチョイ 724d-U7Lh)
2021/09/01(水) 09:37:56.74ID:BXH5CjID0527デフォルトの名無しさん (ワッチョイ 595e-xJJl)
2021/09/11(土) 14:53:10.23ID:H4dj0oy10 代入時など左辺に&をつけない理由って、元々左辺の変数はその変数のアドレスを示しているんですか?
528デフォルトの名無しさん (ワッチョイ 6d63-dGLa)
2021/09/11(土) 17:29:15.71ID:fnRem4gD0 左辺にアドレス値を書いても、そのアドレスに格納してくれるわけではない
529デフォルトの名無しさん (ワッチョイ 0a69-wHYb)
2021/09/11(土) 19:49:04.18ID:UoYK8G+w0 変数は(多くの場合)メモリ上に置かれる
a=bの式をコンパイラは「bのアドレスのメモリにある値をaのアドレスのメモリにコピーする」と解釈する
でもそれをソースコード上で&a=&bと書かせてもお得なことはないよね
言語上では「a, bは(抽象化された)変数」で、その変数への代入は「a=b」でいいよね
a=bの式をコンパイラは「bのアドレスのメモリにある値をaのアドレスのメモリにコピーする」と解釈する
でもそれをソースコード上で&a=&bと書かせてもお得なことはないよね
言語上では「a, bは(抽象化された)変数」で、その変数への代入は「a=b」でいいよね
530デフォルトの名無しさん (ワッチョイ e521-se0r)
2021/09/11(土) 20:30:31.76ID:IpYcp5mx0 >>527
C++だと参照型が近いけど、あれはあれで窮屈ながらも、便利っちゃ便利かもな。
でもポインタ幅きかせてるCであえて拡張したい記法かといえば微妙よね。
void func(char &c) { c *= 2; }
みたいなのね。
C++だと参照型が近いけど、あれはあれで窮屈ながらも、便利っちゃ便利かもな。
でもポインタ幅きかせてるCであえて拡張したい記法かといえば微妙よね。
void func(char &c) { c *= 2; }
みたいなのね。
531デフォルトの名無しさん (ワッチョイ 595e-xJJl)
2021/09/11(土) 22:33:45.82ID:H4dj0oy10 皆さんありがとう
scanfで変数に&を付ける理由はいろんなとこに書いてあるんだけど、
それならなんで普通の代入の時に&を付けないんだ?
って疑問に思ってました
scanfで変数に&を付ける理由はいろんなとこに書いてあるんだけど、
それならなんで普通の代入の時に&を付けないんだ?
って疑問に思ってました
532デフォルトの名無しさん (アウアウウー Sa21-ndeh)
2021/09/11(土) 23:06:30.86ID:LC2TQyRsa void f(int *p)
{ *p = 1; }
….
int i;
i = 0;
printf("%d\n"); // 0
f(&i);
printf("%d\n"); // 1
{ *p = 1; }
….
int i;
i = 0;
printf("%d\n"); // 0
f(&i);
printf("%d\n"); // 1
533デフォルトの名無しさん (ワッチョイ 6d63-dGLa)
2021/09/12(日) 00:21:46.80ID:F+ZN0nvA0 scanfに限らず、関数に変数を渡すと、その関数は、
渡された変数の値を受け取れるだけで、
変数の値の書き換えは出来ません
書き換えて欲しいときは、書き換える場所を関数に教えます
普通の代入の時は、その変数を直接操作できるので
あえてアドレス表記する必要が無いです
渡された変数の値を受け取れるだけで、
変数の値の書き換えは出来ません
書き換えて欲しいときは、書き換える場所を関数に教えます
普通の代入の時は、その変数を直接操作できるので
あえてアドレス表記する必要が無いです
534デフォルトの名無しさん (ワッチョイ eaad-pW2y)
2021/09/12(日) 02:58:55.75ID:zHKafq1A0 memcpy(&a, &b, sizeof(a));
なんてことを、昔々構造体の変数の代入が出来ないCのサブセットのコンパイラでやったことがあったような気がするが、もはや記憶も曖昧になるぐらいの大昔。時の経つのは早いものぢゃ。
なんてことを、昔々構造体の変数の代入が出来ないCのサブセットのコンパイラでやったことがあったような気がするが、もはや記憶も曖昧になるぐらいの大昔。時の経つのは早いものぢゃ。
535デフォルトの名無しさん (ワッチョイ ad45-m40g)
2021/09/12(日) 10:12:20.10ID:BvG4P5vd0 サブセットつーか、そもそもK&R Cは構造体代入できないね
536デフォルトの名無しさん (ワッチョイ e521-se0r)
2021/09/12(日) 14:36:50.48ID:Yq9DVfRn0 >>531
int c;に対して&c = 100という記述はだめなのって疑問かな?
代入演算子は左辺に変数を置いて値を書き込む特別な演算子だけど、
それをその変数の型を含むアドレス値を左辺に置いてそのアドレスに
書き込むという定義とするわけだ。
定義自体がややこしいし、
アドレス全面押しにする理由がない(むしろ遮蔽したい)、
頻繁に用いる演算子ゆえタイプ数が増えたりするのは好まない、
などメリットがないのだろうね。
=と==を=にまとめてしまって、代入時は&付けるという方向は
あるかも知れませんが、コード中代入のが多いでしょうから、
代入をシンプルにしたのではと。
int c;に対して&c = 100という記述はだめなのって疑問かな?
代入演算子は左辺に変数を置いて値を書き込む特別な演算子だけど、
それをその変数の型を含むアドレス値を左辺に置いてそのアドレスに
書き込むという定義とするわけだ。
定義自体がややこしいし、
アドレス全面押しにする理由がない(むしろ遮蔽したい)、
頻繁に用いる演算子ゆえタイプ数が増えたりするのは好まない、
などメリットがないのだろうね。
=と==を=にまとめてしまって、代入時は&付けるという方向は
あるかも知れませんが、コード中代入のが多いでしょうから、
代入をシンプルにしたのではと。
537デフォルトの名無しさん (ワッチョイ ad45-m40g)
2021/09/12(日) 14:42:45.51ID:BvG4P5vd0 FORTRANの代入を真似ただけだろ
538デフォルトの名無しさん (ワッチョイ eaad-dGLa)
2021/09/13(月) 01:06:14.49ID:MTzB4xqO0 >>535
あ。そうだったっけ。忘れてた。
あ。そうだったっけ。忘れてた。
539デフォルトの名無しさん (ワッチョイ eaad-dGLa)
2021/09/13(月) 01:13:16.73ID:MTzB4xqO0 int c;
*(&c) = 1;
ていうのなら出来る。
コンパイラは何の警告も出さずにコンパイルするかも知れないが、結局 c = 1; をやっているのと同じコードが出力されると思う。
*(&c) = 1;
ていうのなら出来る。
コンパイラは何の警告も出さずにコンパイルするかも知れないが、結局 c = 1; をやっているのと同じコードが出力されると思う。
540はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 2a3e-wHYb)
2021/09/13(月) 01:28:42.84ID:b2LY5t5P0 代入演算子の左辺に現れることが出来るのは変更可能な左辺値 (modifiable lvalue) で、
>>539 の例はその条件を満たす。
>>527
たとえば
int c = 1;
a = 2;
というのは C では有効なコードだけれど、変数を評価すると格納されている値になるというルールを
そのまま適用すると
1 = 2;
になってしまっておかしい、左辺は「場所」でないといけないという感覚はとても良い感性なのだけれど、
左辺がアドレスということにしたとしてもアドレスはポインタ型の「値」でしかないのでそれはそれで
なんだか変なことになる。
結局は特別な規則を導入必要はあって、 C においてはそれが lvalue という概念というわけ。
>>539 の例はその条件を満たす。
>>527
たとえば
int c = 1;
a = 2;
というのは C では有効なコードだけれど、変数を評価すると格納されている値になるというルールを
そのまま適用すると
1 = 2;
になってしまっておかしい、左辺は「場所」でないといけないという感覚はとても良い感性なのだけれど、
左辺がアドレスということにしたとしてもアドレスはポインタ型の「値」でしかないのでそれはそれで
なんだか変なことになる。
結局は特別な規則を導入必要はあって、 C においてはそれが lvalue という概念というわけ。
541デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/13(月) 07:34:08.89ID:wBWjVwq/M わざとやってるのか知らんけどコードくらいまともに書けよ
542デフォルトの名無しさん (スプッッ Sd12-dgdc)
2021/09/13(月) 09:12:44.29ID:BLplThEad >>531
C++は面倒なことになったな
#include <iostream>
using namespace std;
int main(int ac, char **av)
{
int a = 3;
int &b = a;
cout << a << b << endl;
return 0;
}
C++は面倒なことになったな
#include <iostream>
using namespace std;
int main(int ac, char **av)
{
int a = 3;
int &b = a;
cout << a << b << endl;
return 0;
}
543デフォルトの名無しさん (ワッチョイ ad45-m40g)
2021/09/13(月) 09:47:47.66ID:B8QV0Pmm0 ここはCスレ
544デフォルトの名無しさん (アウアウウー Sa21-ndeh)
2021/09/13(月) 13:35:49.31ID:lh01OzgJa545デフォルトの名無しさん (ワッチョイ 6a69-bL/7)
2021/09/13(月) 16:53:30.27ID:XjglcLZY0 副作用をポインタを経由して呼び出し元に伝播する ポインタ渡し
引数変数への代入がそのまま呼び出し元の変数に反映される 参照渡し(C言語には無い)
引数変数への代入がそのまま呼び出し元の変数に反映される 参照渡し(C言語には無い)
546デフォルトの名無しさん (ワッチョイ 6a69-bL/7)
2021/09/13(月) 16:57:08.25ID:XjglcLZY0 関数の壁(呼び出し元と 呼び出された関数内の記述)を超えるときに & を使って壁を越える工夫をする
同じコード内の変数への代入ならば不要
同じコード内の変数への代入ならば不要
547デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/13(月) 17:04:06.19ID:JA2CmiO7M &使わないと釣り銭をもらえない
548はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 2a3e-wHYb)
2021/09/13(月) 17:52:01.78ID:b2LY5t5P0 C の仕様では引数は一貫して値渡しで、その値の型がポインタ型のこともあるという理屈になってる。
(仕様の理屈はともかくポインタの活用の仕方としてポインタ渡しと呼ぶことを否定するわけではない。)
(仕様の理屈はともかくポインタの活用の仕方としてポインタ渡しと呼ぶことを否定するわけではない。)
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- ヨッシー、ヘイホー、テレサ ←こいつらwwwwwwwww
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- くそしてかがやけ
- 一人暮らしだからケツ出してみてるけど
