[過去ログ]
C言語なら俺に聞け 163 (1002レス)
C言語なら俺に聞け 163 http://mevius.5ch.net/test/read.cgi/tech/1721137434/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
245: デフォルトの名無しさん (ブーイモ MMbf-GITO) [sage] 2024/09/19(木) 15:36:15.62 ID:bQAYIDF0M cは洗練された型システム持ってないんだからそんなところ頑張っても無駄なんだよ この悟りに至って始めて脱初級 原則語るならそれからにしてくれ http://mevius.5ch.net/test/read.cgi/tech/1721137434/245
246: デフォルトの名無しさん (ワッチョイ ff63-y7MN) [sage] 2024/09/19(木) 15:40:30.12 ID:cPR7xA8Z0 Cは一部の洗練された型システム持つ言語よりも遙かに自由度が高い そこが分かってようやく中級レベル あとは本人の努力次第で空も飛べるし海も潜れる http://mevius.5ch.net/test/read.cgi/tech/1721137434/246
247: デフォルトの名無しさん (ワッチョイ bfda-GITO) [sage] 2024/09/19(木) 15:50:31.78 ID:c2v//UgT0 おいおい そのぶん危険なんだから持ち上げる部分でもないだろ お前も初級 http://mevius.5ch.net/test/read.cgi/tech/1721137434/247
248: デフォルトの名無しさん (ワッチョイ ff63-y7MN) [sage] 2024/09/19(木) 17:19:57.71 ID:cPR7xA8Z0 ナイフは危険だが有用 不器用者は使わない方が良い http://mevius.5ch.net/test/read.cgi/tech/1721137434/248
249: デフォルトの名無しさん (ワッチョイ b766-qbvN) [sage] 2024/09/19(木) 17:44:18.26 ID:8NYyNXbk0 >>244 typedefは新たな型を作るわけじゃない別名を定義するだけから void foo(char hage[10]) と void foo(HAGE_TBL hage) は同じことだよ http://mevius.5ch.net/test/read.cgi/tech/1721137434/249
250: デフォルトの名無しさん (ワッチョイ bf29-GITO) [sage] 2024/09/19(木) 20:28:27.65 ID:c2v//UgT0 >>248 c言語ってとっくの昔から自由にキャストしまくれる言語じゃないの知ってるか? さぁお前はなんと答える? http://mevius.5ch.net/test/read.cgi/tech/1721137434/250
251: デフォルトの名無しさん (ワッチョイ ff63-y7MN) [sage] 2024/09/19(木) 20:47:13.84 ID:cPR7xA8Z0 そんなに怖がるなよ 食われるわけじゃないんだから http://mevius.5ch.net/test/read.cgi/tech/1721137434/251
252: デフォルトの名無しさん (アウアウエー Sadf-3vlU) [] 2024/09/19(木) 21:11:19.13 ID:/CBFTgYsa >>245 悟った人は全部void* http://mevius.5ch.net/test/read.cgi/tech/1721137434/252
253: デフォルトの名無しさん (ワッチョイ ff4c-KlCL) [] 2024/09/19(木) 21:52:43.48 ID:j90utfqH0 文字も数字も全部intでいいやん http://mevius.5ch.net/test/read.cgi/tech/1721137434/253
254: デフォルトの名無しさん (アウアウエー Sadf-3vlU) [] 2024/09/19(木) 21:56:05.41 ID:/CBFTgYsa getch() は int http://mevius.5ch.net/test/read.cgi/tech/1721137434/254
255: デフォルトの名無しさん (ワッチョイ 9f1e-S785) [sage] 2024/09/20(金) 07:15:20.20 ID:dn4N5ANS0 >>249 それが不満なようだから「HAGE_TBL * にしたら何ができるか考えてみては?」ということでは? http://mevius.5ch.net/test/read.cgi/tech/1721137434/255
256: デフォルトの名無しさん (ササクッテロ Sp47-i443) [sage] 2024/09/24(火) 10:26:30.49 ID:/2yiAcKTp 昔のコンピュータはメモリー少ないから、intで文字持つなんて贅沢だったんだよ http://mevius.5ch.net/test/read.cgi/tech/1721137434/256
257: デフォルトの名無しさん (ワッチョイ 1e2b-VArp) [sage] 2024/09/24(火) 11:12:54.47 ID:CARZyoOh0 次のジジイの的外れな言いたいだけコメントを先取り intは16bit以上だぞ http://mevius.5ch.net/test/read.cgi/tech/1721137434/257
258: デフォルトの名無しさん (ササクッテロ Sp47-i443) [sage] 2024/09/24(火) 11:31:50.53 ID:QMMOdtbOp 違うよ、intは処理系依存だから8ビットの場合もある http://mevius.5ch.net/test/read.cgi/tech/1721137434/258
259: デフォルトの名無しさん (スプッッ Sd52-L8o3) [sage] 2024/09/24(火) 11:49:08.20 ID:vvKB2ofDd 規格書読め http://mevius.5ch.net/test/read.cgi/tech/1721137434/259
260: デフォルトの名無しさん (ブーイモ MM32-VArp) [sage] 2024/09/24(火) 11:54:52.88 ID:kMxfGMRcM 次のジジイ getcharがなぜintを返すか http://mevius.5ch.net/test/read.cgi/tech/1721137434/260
261: デフォルトの名無しさん (ワッチョイ d6f5-K4S3) [sage] 2024/09/24(火) 19:39:49.05 ID:tv/lKhnI0 >>174 > char* foo = "hoge"; > > のようなケースではポインタ foo は文字列リテラルを指してる (単に端折っただけかもしれないけれど、)文字列リテラルに関してCには非常に込み入った事情(Rationale Rev. 5.10 6.4.5 冒頭-l.26, N1256 Annex J.5.5)があり、厳密に言えば foo は "hoge" によって初期化された無名の配列を指している(N1256 6.7.8-32)。 C99RationaleV5.10 https://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf テンプレ入りキボンヌ >>皆の衆 ともあれ、込み入った事情に該当しなければ const char afoo[] = "hoge"; あるいは const char * const ccfoo = "hoge"; 場合によって const char *cfoo = "hoge"; と書いて、うっかり書き換え防止に勇往邁進するのじゃ。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/261
262: 261 (ワッチョイ d6f5-K4S3) [sage] 2024/09/24(火) 19:51:57.01 ID:tv/lKhnI0 >>158 件の意味論は 6.7.8-32 を介して 6.7.8-14,15 に帰結するように思われる一方で、文字列リテラルが 6.4.5-5 で自ら初期化した(やはり)無名の配列の代名詞だとすると 6.7.8-11 が適用されるという解釈も成り立ちそう。 char *gfoo1 = "hoge"; // (1) char *gfoo2 = "hoge"; // (2) void f() { char *foo1 = "hoge"; // (3) char *foo2 = "hoge"; // (4) } >>261 で触れた文字列リテラル書き換え派の場合、(1)〜(4)は別物なので、各々初期化しなければならないため前者の解釈。この時、(3), (4)が automatic storage duration でも良いように 6.7.8-32 では storage duration を定めていないのだと思う。 他方、文字列リテラル不変派の場合、(1)〜(4)は同一で良いので、初期化を一回で済ませて後者の解釈。 結局、前後者両方の解釈が出来るようになっているように見える。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/262
263: デフォルトの名無しさん (ワッチョイ de79-sesJ) [sage] 2024/09/25(水) 19:34:19.49 ID:8eNfi/Op0 まだやってるキモ… いくら話題無いからってこれは誰も幸せにならない http://mevius.5ch.net/test/read.cgi/tech/1721137434/263
264: デフォルトの名無しさん (ワッチョイ 727d-rNKn) [sage] 2024/09/25(水) 23:05:12.18 ID:YARyzAjz0 ええんちゃう別に どうせ5chに答えを求めてやって来る人なんてもうおらんのやし http://mevius.5ch.net/test/read.cgi/tech/1721137434/264
265: デフォルトの名無しさん (ワッチョイ 1663-7cnK) [sage] 2024/09/25(水) 23:07:41.16 ID:1jKu7Jqx0 青い鳥を探してます ここに来れば教えてくれると聞いて来ました http://mevius.5ch.net/test/read.cgi/tech/1721137434/265
266: デフォルトの名無しさん (ワッチョイ 022d-w5sm) [sage] 2024/09/26(木) 09:49:09.10 ID:oesVQEFi0 PythonとかC++のスレで規格持ち出して言い合いしてるのを見たことないが 何故かここではよく起こるな http://mevius.5ch.net/test/read.cgi/tech/1721137434/266
267: デフォルトの名無しさん (ワッチョイ ebbe-i443) [sage] 2024/09/26(木) 10:19:33.26 ID:944iXMZC0 Cなんてのは対象CPUの違いとかでも標準とかけ離れた実装して来るのにね http://mevius.5ch.net/test/read.cgi/tech/1721137434/267
268: デフォルトの名無しさん (アウアウエー Saaa-rNKn) [] 2024/09/26(木) 10:58:03.72 ID:R5lWYvWFa >>264 これ++ http://mevius.5ch.net/test/read.cgi/tech/1721137434/268
269: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ e332-Pvcq) [sage] 2024/09/26(木) 12:24:13.03 ID:B+Au+yIB0 >>266 じゃあ何を根拠にしてるの? 妄想? http://mevius.5ch.net/test/read.cgi/tech/1721137434/269
270: デフォルトの名無しさん (ワントンキン MM42-LD7o) [sage] 2024/09/26(木) 14:46:28.31 ID:oxN8/Up7M perlあたりで頼む http://mevius.5ch.net/test/read.cgi/tech/1721137434/270
271: デフォルトの名無しさん (ワッチョイ 022d-w5sm) [] 2024/09/26(木) 16:39:09.57 ID:oesVQEFi0 >>269 君の問題点は規格読んでるの間違えてるとこだよ http://mevius.5ch.net/test/read.cgi/tech/1721137434/271
272: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ e332-Pvcq) [sage] 2024/09/26(木) 16:48:57.66 ID:B+Au+yIB0 >>271 規格を根拠にしてたら間違えてる箇所は間違えていると反論できるだろ。 根拠がないよりは良い。 ところでどこに間違いがあった? http://mevius.5ch.net/test/read.cgi/tech/1721137434/272
273: デフォルトの名無しさん (ワッチョイ 63e3-VZV9) [] 2024/09/26(木) 23:55:11.03 ID:jCy2QsTx0 >>235 これの1行目は文字列長によらず固定値にならない? char* と char[] を区別できてないように思う // これは (ヌル文字を含む) 4バイトのデータがスタック上に作られる // sizeof(a1) の結果は文字列数により変わる char a1[] = "abc"; // こう書いた場合、文字列の実体は静的な領域 (テキスト領域) に確保され、 // a2にはそのアドレスが渡される。 // sizeof(a2) はポインタのサイズであり、値は文字列長によらず固定 char* a2 = "abc"; http://mevius.5ch.net/test/read.cgi/tech/1721137434/273
274: デフォルトの名無しさん (ワッチョイ 63e3-VZV9) [] 2024/09/27(金) 00:02:43.63 ID:ju4/Ooeg0 char* でも char[] でも、a[n] と書けばn文字目を参照するのは変わらない これはポインタの [] 演算子は「ポインタをn個進めた位置の要素を参照する」ため、結果的には配列と変わらないから だけど前述の a1 と a2 は違う型なので、そこは注意が必要 たぶん VS Code でC言語の拡張を入れてれば、上記のように書いた変数のところにカーソルを当たるとヒントが出るので、それで確認できると思う それか実際に動かして sizeof の結果を見るか http://mevius.5ch.net/test/read.cgi/tech/1721137434/274
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 728 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s