!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C17
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C23 最新ドラフト
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.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言語なら俺に聞け 161
https://mevius.5ch.net/test/read.cgi/tech/1682053520/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C言語なら俺に聞け 162
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 2389-FUJr)
2023/10/30(月) 17:13:00.82ID:hHEGE8Ol0583デフォルトの名無しさん (ワッチョイ c27c-WFGC)
2024/03/11(月) 23:43:57.21ID:a8lYnTon0 >>582
相手はその質問で問題提起してるんだろ、なのにお前からは、どうなればいいのって "
解答" を質問者に聞いてたら、そりゃ質問者だって混乱するだろよ。
問題把握以前にお前は国語からやり直すべき。
相手はその質問で問題提起してるんだろ、なのにお前からは、どうなればいいのって "
解答" を質問者に聞いてたら、そりゃ質問者だって混乱するだろよ。
問題把握以前にお前は国語からやり直すべき。
584はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-SeR6)
2024/03/12(火) 00:26:36.89ID:WtXn1sYk0 >>583
目指すべき形がわからないのにどうすればいいかなんて答えようがないんだから訊くのはあたりまえじゃないの。
(ちなみに質問が不明瞭な場合などのために回答とは別にコメントを付ける機能が stackoverflow や teratail にはある)
目指すべき形がわからないのにどうすればいいかなんて答えようがないんだから訊くのはあたりまえじゃないの。
(ちなみに質問が不明瞭な場合などのために回答とは別にコメントを付ける機能が stackoverflow や teratail にはある)
585デフォルトの名無しさん (ワッチョイ 8563-lhhw)
2024/03/12(火) 00:40:50.82ID:JJnRauRa0 分からないのに答えると言うのもどうかと思う
587デフォルトの名無しさん (ワッチョイ 8563-lhhw)
2024/03/12(火) 00:54:27.51ID:JJnRauRa0 相手にしているならば答えてるのと同じ
588デフォルトの名無しさん (ワッチョイ 7d5f-siit)
2024/03/12(火) 04:56:46.76ID:T3Ovkjsr0 そして放置される と
589デフォルトの名無しさん (ワッチョイ 05b0-3wDj)
2024/03/12(火) 18:16:58.66ID:TtsgUSZ70 てすと
590デフォルトの名無しさん (ワッチョイ 05b0-3wDj)
2024/03/12(火) 18:17:16.76ID:TtsgUSZ70 てすと
591デフォルトの名無しさん (JP 0He6-Cuda)
2024/03/13(水) 04:27:54.00ID:fKc7/92tH Pythonから来たんですけど
C言語では関数だけじゃなくifやforのブロック内部もローカルスコープって聞いて驚愕してます
ループが終わった後のカウンター変数を後続処理で気軽に利用できないって困りませんか
C言語では関数だけじゃなくifやforのブロック内部もローカルスコープって聞いて驚愕してます
ループが終わった後のカウンター変数を後続処理で気軽に利用できないって困りませんか
592デフォルトの名無しさん (ワッチョイ 82ac-sV0L)
2024/03/13(水) 04:37:16.09ID:VFn3B3DS0 そうしたいときはスコープの外で宣言すれば値は保持されるので
int i;
for (i=0 ; i<10 ; i++)
{
}
int i;
for (i=0 ; i<10 ; i++)
{
}
593デフォルトの名無しさん (JP 0He6-Cuda)
2024/03/13(水) 04:49:50.63ID:fKc7/92tH >>592
マジっすか
ChatGPTに聞いたら、そのやり方だと外のiと中のiはスコープが別って言われて混乱しとります
---
一方で、ループの外で事前に同名の変数が宣言されている場合、
forループの仮引数として宣言された変数と同名の変数は別のものとして扱われます。
この場合、forループの仮引数として宣言された変数がローカル変数として扱われ、ループの外で宣言された変数がグローバル変数として扱われます。
これは、C言語において名前の衝突を回避するための仕組みです。
マジっすか
ChatGPTに聞いたら、そのやり方だと外のiと中のiはスコープが別って言われて混乱しとります
---
一方で、ループの外で事前に同名の変数が宣言されている場合、
forループの仮引数として宣言された変数と同名の変数は別のものとして扱われます。
この場合、forループの仮引数として宣言された変数がローカル変数として扱われ、ループの外で宣言された変数がグローバル変数として扱われます。
これは、C言語において名前の衝突を回避するための仕組みです。
594デフォルトの名無しさん (ブーイモ MMa5-lOCL)
2024/03/13(水) 05:14:50.31ID:7oOr7TQ5M ChatGPTあってもバカはバカのままってのがよくわかる
595デフォルトの名無しさん (ワッチョイ 8666-sV0L)
2024/03/13(水) 07:16:46.92ID:3+r/Br8X0 >>593
int i;
for (int i=0 ; i<10 ; i++) {...}
と書くとそうなる
宣言すると新しい変数ができる
ChatGPTって、機械が自然な応答をすることが目的で、辞書のように使うものではないんじゃないの?
ChatGPTは得た情報がどの程度正しそうなのか重みづけできないんじゃないかな
int i;
for (int i=0 ; i<10 ; i++) {...}
と書くとそうなる
宣言すると新しい変数ができる
ChatGPTって、機械が自然な応答をすることが目的で、辞書のように使うものではないんじゃないの?
ChatGPTは得た情報がどの程度正しそうなのか重みづけできないんじゃないかな
596デフォルトの名無しさん (ワッチョイ b901-lhhw)
2024/03/13(水) 07:39:30.72ID:DwruCvgD0 やさしい
597デフォルトの名無しさん (JP 0He6-Cuda)
2024/03/13(水) 08:06:43.61ID:fKc7/92tH >>595
ありがとう
AIの回答をよく見返したらfor(int i = 0...の解説だった
サンプルコードを示してくれるのはいいけど、自分のような丸々素人だとその意図を理解できないでこういう誤解が生まれる余地はあるね
先生が優秀過ぎて学生がついていけない構図だわこれ
ありがとう
AIの回答をよく見返したらfor(int i = 0...の解説だった
サンプルコードを示してくれるのはいいけど、自分のような丸々素人だとその意図を理解できないでこういう誤解が生まれる余地はあるね
先生が優秀過ぎて学生がついていけない構図だわこれ
598デフォルトの名無しさん (ワッチョイ c6b6-lOCL)
2024/03/13(水) 08:35:23.86ID:etRxrqP30 ChatGPTを先生にする発想が間違い
599はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 29a4-SeR6)
2024/03/13(水) 08:49:20.23ID:ZL+6IClb0 >>597
昔の C++ だとその書き方でも i のスコープは for 文の外側のブロックがスコープになる仕様だった。 (ISO で規格化される前のやつ。)
その頃の C の仕様ではそもそもそこで変数の宣言を出来なかったが処理系の拡張として C++ 風のやりかたをできるようにしているものもあった。
後に C++ の仕様は変更されて、 C には C++ の変更後のやり方で導入されることになったんだが、しばらくはスコープの仕様に混乱があった。
数十年前の一時期の混乱に過ぎないからそれ自体は今では気にする必要はないんだけど言語仕様は変更されることもあるし、色々と歴史的事情もある。
古い仕様を根拠にした解説もあるから AI が区別せずに学習したら辻褄の合わないことも起こると思う。
まあ人間が書いた解説も変なのは少なからずあるから AI を批判するわけじゃないけど……まあ一番最初くらいは入門書を読んだほうがいいんじゃないかと個人的には思ってる。
昔の C++ だとその書き方でも i のスコープは for 文の外側のブロックがスコープになる仕様だった。 (ISO で規格化される前のやつ。)
その頃の C の仕様ではそもそもそこで変数の宣言を出来なかったが処理系の拡張として C++ 風のやりかたをできるようにしているものもあった。
後に C++ の仕様は変更されて、 C には C++ の変更後のやり方で導入されることになったんだが、しばらくはスコープの仕様に混乱があった。
数十年前の一時期の混乱に過ぎないからそれ自体は今では気にする必要はないんだけど言語仕様は変更されることもあるし、色々と歴史的事情もある。
古い仕様を根拠にした解説もあるから AI が区別せずに学習したら辻褄の合わないことも起こると思う。
まあ人間が書いた解説も変なのは少なからずあるから AI を批判するわけじゃないけど……まあ一番最初くらいは入門書を読んだほうがいいんじゃないかと個人的には思ってる。
600デフォルトの名無しさん (ワッチョイ f260-3wDj)
2024/03/13(水) 09:06:40.92ID:hNY0+4ik0 カウンター変数を気軽に使うのが間違い
そういう時は何かが間違ってると思った方が良い
俺がGPTならそう回答するw
そういう時は何かが間違ってると思った方が良い
俺がGPTならそう回答するw
601デフォルトの名無しさん (ワッチョイ 82ad-g1JC)
2024/03/13(水) 09:49:08.95ID:LIF5w4hC0 ちょっと何言っているのか分からない
602デフォルトの名無しさん (ワッチョイ 692a-fdoY)
2024/03/13(水) 09:57:47.91ID:X1fgAQyG0 気が重い中で使うのが正しい。獅子咆哮弾だね。
603デフォルトの名無しさん (スプッッ Sd01-WFGC)
2024/03/13(水) 10:34:26.85ID:u8+Aa1acd604デフォルトの名無しさん (ササクッテロラ Sp91-EkuC)
2024/03/13(水) 10:46:18.64ID:JwtpXuCEp あれは創作小説を生成する装置なのに
なんで実用性あるんだと思うんだろ?
なんで実用性あるんだと思うんだろ?
605デフォルトの名無しさん (ワッチョイ c6b6-lOCL)
2024/03/13(水) 10:57:53.06ID:etRxrqP30 実用性はあるけどな
使い方の問題
現役でいたかったらgithub copilotぐらいさわっとけ
使い方の問題
現役でいたかったらgithub copilotぐらいさわっとけ
606デフォルトの名無しさん (ワッチョイ a101-fdoY)
2024/03/13(水) 11:09:39.04ID:hk9QG/kC0607デフォルトの名無しさん (ワッチョイ 8563-lhhw)
2024/03/13(水) 11:43:22.70ID:WwA56xS10 嘘って言うのは人間が評価した上での話
ChatGPTに取っては与えらた入力データから
もっともらしいものを出力しただけ
ChatGPTに嘘をつかせるってのは、難しい
仮に知性というものが芽生えて、自意識が発生し
そのことを人間に隠さないといけないと判断して
そうするなら、それは初めて嘘をついたとなる
ChatGPTに取っては与えらた入力データから
もっともらしいものを出力しただけ
ChatGPTに嘘をつかせるってのは、難しい
仮に知性というものが芽生えて、自意識が発生し
そのことを人間に隠さないといけないと判断して
そうするなら、それは初めて嘘をついたとなる
608デフォルトの名無しさん (ブーイモ MMa5-lOCL)
2024/03/13(水) 11:51:20.55ID:8jq/IdEqM 嘘であることと嘘をつこうと思ったかどうかは別だろ
609デフォルトの名無しさん (ワッチョイ 82ad-g1JC)
2024/03/13(水) 11:51:45.77ID:LIF5w4hC0610デフォルトの名無しさん (ワッチョイ 8563-lhhw)
2024/03/13(水) 12:01:22.65ID:WwA56xS10 「この電卓は嘘つきだ!」
611はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8d32-hQEK)
2024/03/13(水) 12:20:13.23ID:y7g8qbWf0 ChatGPT の言語能力は高いがプログラミング教育を受けてるわけじゃないからなぁ。
頭のよい素人がググりながら要約したくらいの正確さだと思う。
根拠になる仕様の項目を問うたときにまるでデタラメを返したりするのはかなりあかんとこ。
頭のよい素人がググりながら要約したくらいの正確さだと思う。
根拠になる仕様の項目を問うたときにまるでデタラメを返したりするのはかなりあかんとこ。
612デフォルトの名無しさん (ワッチョイ e1b3-EkuC)
2024/03/13(水) 13:20:48.95ID:I6g3m+gC0 >>609
マ板で愚問w
マ板で愚問w
613デフォルトの名無しさん (ワッチョイ f260-3wDj)
2024/03/13(水) 13:40:02.23ID:hNY0+4ik0 >>610
Windowsの電卓で嘘をつくバグが有ったなw
Windowsの電卓で嘘をつくバグが有ったなw
614デフォルトの名無しさん (ワッチョイ f260-3wDj)
2024/03/13(水) 13:53:23.57ID:hNY0+4ik0 >>601
ループ変数を後から参照する状況は、ループがbreakで中断したかを確認したい時だろう
そういうのは別の関数に切り分けて、ループ内でbreakじゃなくreturn trueで返すようにすべきだな(関数の最後はreturn false)
C++で言うstd::any_ofみたいな事が出来ないから、関数に切り分けるしかない
ループ変数を後から参照する状況は、ループがbreakで中断したかを確認したい時だろう
そういうのは別の関数に切り分けて、ループ内でbreakじゃなくreturn trueで返すようにすべきだな(関数の最後はreturn false)
C++で言うstd::any_ofみたいな事が出来ないから、関数に切り分けるしかない
615デフォルトの名無しさん (ワッチョイ c6b6-lOCL)
2024/03/13(水) 15:56:31.82ID:etRxrqP30 小さい関数ならちまちま切り出さなくていい
読みにくいだけ
読みにくいだけ
616デフォルトの名無しさん (ワッチョイ fb4c-A0KB)
2024/03/17(日) 16:04:44.01ID:k+jArioy0 最短経路問題で perl5 で書いたのがOut of memory!
こんな時はC言語などで書き直すのが選択肢だけど
みんなはいきなりC言語などで書きますか?
それとも、最初は書きやすい言語で処理速度以外の所を決めてからC言語などで書きますか?
こんな時はC言語などで書き直すのが選択肢だけど
みんなはいきなりC言語などで書きますか?
それとも、最初は書きやすい言語で処理速度以外の所を決めてからC言語などで書きますか?
617デフォルトの名無しさん (ワッチョイ 8bd6-Jepy)
2024/03/17(日) 16:19:49.43ID:JxbO9kgq0 perlの実装があるならそれを使って色々検討するんじゃないか
618デフォルトの名無しさん (ワッチョイ 8163-IOXH)
2024/03/17(日) 16:32:03.14ID:WugnipTo0 perl5って64ビット版もあるでしょう?
619デフォルトの名無しさん (ワッチョイ 292a-B9kV)
2024/03/17(日) 16:47:02.59ID:8QBAFOMi0 ここの人たちなら習わぬ Perlで下書きするより勝手知ったる Cで書くんじゃないの。
Perl開発上の問題はPerlスレで訊ねた方が、実情に即したレスが反りそう。
Perl開発上の問題はPerlスレで訊ねた方が、実情に即したレスが反りそう。
620デフォルトの名無しさん (ワッチョイ 8163-IOXH)
2024/03/17(日) 16:50:04.16ID:WugnipTo0 問題文と、組み立てたであろうアルゴリズム聞かないと、何とも言えない
621デフォルトの名無しさん (ワッチョイ 8163-IOXH)
2024/03/17(日) 19:48:46.79ID:WugnipTo0 Perlスレ見てみたが、相談できそうな所が無かった
回答あるか分からないが、お題スレに問題文投げて解いてもらう
いろんな言語に精通している猛者が多い(Perl達人もいたはず)
PerlではなくC言語でと言うなら、ここで相談できるかもしれない
回答あるか分からないが、お題スレに問題文投げて解いてもらう
いろんな言語に精通している猛者が多い(Perl達人もいたはず)
PerlではなくC言語でと言うなら、ここで相談できるかもしれない
622デフォルトの名無しさん (ワッチョイ 5134-0rOl)
2024/03/18(月) 10:33:19.79ID:0IkoPQje0 最短経路・グラフ理論・ダイクストラとか?
アルゴリズム系は、Python でしょ。Ruby も
有名な蟻本「プログラミング・コンテスト・チャレンジブック」は、C++
C は知らない
アルゴリズム系は、Python でしょ。Ruby も
有名な蟻本「プログラミング・コンテスト・チャレンジブック」は、C++
C は知らない
623デフォルトの名無しさん (ササクッテロラ Sp85-FuGx)
2024/03/18(月) 10:37:04.28ID:U2viu6Jop Pythonは、アルゴリズムって言うより
マトリックス計算機
マトリックス計算機
624デフォルトの名無しさん (ワッチョイ 59ad-FDlJ)
2024/03/18(月) 12:55:06.36ID:09P0Fui10 Perlは最短経路問題のライブラリもなく、速度が欲しければCで自分で書くしかない…ってコト!?
辞めたら? その言語で最短経路問題解こうとするの
辞めたら? その言語で最短経路問題解こうとするの
625デフォルトの名無しさん (ワッチョイ 1384-8Hbo)
2024/03/18(月) 13:06:20.52ID:mAsCIn7L0 依頼者の返答を待たないと
626デフォルトの名無しさん (ワッチョイ 1379-7+fg)
2024/03/18(月) 20:11:03.72ID:H3fBGUmk0 perlスレでやれよ
このスレは老害しかいないからperlの話しても通じんよ
このスレは老害しかいないからperlの話しても通じんよ
627デフォルトの名無しさん (ワッチョイ 8163-IOXH)
2024/03/18(月) 20:46:39.48ID:LaT9Whu40 perlの歴史は結構古いぞ
年寄りしか扱えないと思ってた
年寄りしか扱えないと思ってた
628はちみつ餃子 ◆8X2XSCHEME (ワッチョイ a9bf-4IOx)
2024/03/18(月) 21:09:19.87ID:PY17qgzJ0 >>616 は C のコードを書く前に他の言語でプロトタイプを書くことがあるかという質問していて Perl についての質問ではないぞ。
Perl の話は例というか前振りだろ。
Perl の話は例というか前振りだろ。
629デフォルトの名無しさん (ワッチョイ 1379-7+fg)
2024/03/18(月) 23:52:06.11ID:H3fBGUmk0 そいう話か。1行目しか読んでないわ
最近は大体OS標準のpowershellでざっくり書いて必要なら一部C#だな
pinvokeで恐らくC/C++製のDLLを利用することはあってもCコードを書く機会なんてなくなった
最近は大体OS標準のpowershellでざっくり書いて必要なら一部C#だな
pinvokeで恐らくC/C++製のDLLを利用することはあってもCコードを書く機会なんてなくなった
630デフォルトの名無しさん (ワッチョイ 8163-IOXH)
2024/03/18(月) 23:55:42.19ID:LaT9Whu40 じゃあ、だれかCで書いてあげて
631デフォルトの名無しさん (ワッチョイ b15f-FuGx)
2024/03/19(火) 08:32:58.20ID:Z43bMenl0 いきなりperlで書くのと
いきなりCで書くのと何が違うんだろ?
つか、俺は最初に日本語で手順を書くが
いきなりCで書くのと何が違うんだろ?
つか、俺は最初に日本語で手順を書くが
632デフォルトの名無しさん (ワッチョイ 73ae-yROb)
2024/03/19(火) 08:57:10.07ID:R8jeC9x+0 awkが普通だと思ってた
今は違うのか
今は違うのか
633デフォルトの名無しさん (ワッチョイ fbe7-7lhN)
2024/03/19(火) 09:24:56.59ID:D/Ya4WHb0 まずはBASICで書いて、速度が欲しいとこだけマシン語に置き換える感じ
634デフォルトの名無しさん (ワッチョイ 2910-ZAEI)
2024/03/19(火) 09:46:27.46ID:DAgk/2JU0 FD起動IPL設計からなのでまずアセンブラで。
635デフォルトの名無しさん (ワッチョイ 8163-IOXH)
2024/03/19(火) 10:08:59.95ID:Szfgw2D70 FD起動
なんて贅沢なんだ
なんて贅沢なんだ
636デフォルトの名無しさん (ワッチョイ 8b2a-Rw/6)
2024/03/19(火) 10:39:11.21ID:Fe9RIXyY0 >>631
いきなり perlで書いたソースは既にあって、実行するとメモリ不足になるのでしょ。なので、
いきなり(perl以外の)書きやすい言語で書くのと
いきなりCで書くのと何が違うんだろ?
と訊くべき。
いきなり perlで書いたソースは既にあって、実行するとメモリ不足になるのでしょ。なので、
いきなり(perl以外の)書きやすい言語で書くのと
いきなりCで書くのと何が違うんだろ?
と訊くべき。
637デフォルトの名無しさん (ワッチョイ 8163-IOXH)
2024/03/19(火) 11:11:47.95ID:Szfgw2D70 昔MZシリーズなんていう8ビットPCがあって、
そのマニュアルにペントミノを解くというプログラムが載っていた
しかし実行しても1日掛かっても回答が出ない
16ビットPC用のCで書き直したら、5分で終わった
ついでにアセンブラにしたら、1分だった
そのマニュアルにペントミノを解くというプログラムが載っていた
しかし実行しても1日掛かっても回答が出ない
16ビットPC用のCで書き直したら、5分で終わった
ついでにアセンブラにしたら、1分だった
638デフォルトの名無しさん (ワッチョイ 59ad-FDlJ)
2024/03/19(火) 11:29:09.76ID:FLREyswN0 Perlでアルゴリズムのプロトタイプ書くおじいちゃん、まだ生きていたのか
普通の若者はプロトタイプはPythonで書くんだよな。何故ならネットにダイクストラでもなんでも落ちているから
このおじいちゃんは新しい言語を勉強出来ない人間だし、かといってプロトタイプなしで初手Cで書けるような積み上げのある猛者というわけでもない
引退した方が良いのでは?
普通の若者はプロトタイプはPythonで書くんだよな。何故ならネットにダイクストラでもなんでも落ちているから
このおじいちゃんは新しい言語を勉強出来ない人間だし、かといってプロトタイプなしで初手Cで書けるような積み上げのある猛者というわけでもない
引退した方が良いのでは?
639デフォルトの名無しさん (ワッチョイ 8163-IOXH)
2024/03/19(火) 11:32:03.00ID:Szfgw2D70 じゃあ、代わりに書いてあげて
640デフォルトの名無しさん (ワッチョイ 7bc9-VMz+)
2024/03/19(火) 12:27:21.10ID:h/UmP7BY0 やるならせめてc++でやれよ
わざわざcでやる意味ない
わざわざcでやる意味ない
641デフォルトの名無しさん (ワッチョイ 8b2a-B9kV)
2024/03/19(火) 12:37:23.65ID:SMOg7wK30 翻訳先が Cなら、
Perl より Python の方がコスト(手間)高で、いっぱい損な気ガス
# ダジャレに気付かないのはダレジャ
Perl より Python の方がコスト(手間)高で、いっぱい損な気ガス
# ダジャレに気付かないのはダレジャ
642デフォルトの名無しさん (ブーイモ MM33-VMz+)
2024/03/19(火) 14:22:26.70ID:VlZcx0wQM 計算量や使用メモリがネックになるのわかってたら最初からc++かcuda
インタラクティブかつビジュアライズして試行錯誤するときはpython(Jupyter)
インタラクティブかつビジュアライズして試行錯誤するときはpython(Jupyter)
643デフォルトの名無しさん (ワッチョイ 0bd0-FDlJ)
2024/03/19(火) 19:07:27.75ID:qnPpFeXM0 最短経路問題をCudaで解くのはむずくね?
644デフォルトの名無しさん (ワッチョイ 7bc9-VMz+)
2024/03/20(水) 02:30:26.76ID:yu5B8CqZ0 最短経路の解き方を聞かれてるわけじゃないだろ
645デフォルトの名無しさん (ワッチョイ b15f-FuGx)
2024/03/20(水) 10:52:31.80ID:+bbLi7EZ0 総当たりさせたらいいんだよw
646デフォルトの名無しさん (スフッ Sdb2-W6Ep)
2024/03/24(日) 18:06:00.35ID:UMIIXnOjd 構造体変数の宣言の初期化のとき、ヌルポインタを,{ }でくくらないと、警告が出るのですが、なぜですか? 例えばこんな具合にしないと警告が出ます
struct monster {
char name[80];
int HP, MP;
};
int main(void)
{
struct monster template = {{0}, 7, 4};
struct monster {
char name[80];
int HP, MP;
};
int main(void)
{
struct monster template = {{0}, 7, 4};
647デフォルトの名無しさん (ワッチョイ 1261-Juro)
2024/03/24(日) 18:20:00.72ID:XqBtjkZY0 >>646
char name[80];に入るのはポインタではなくchar型の配列か文字列
char name[80];に入るのはポインタではなくchar型の配列か文字列
648デフォルトの名無しさん (スフッ Sdb2-rfcW)
2024/03/24(日) 18:24:20.57ID:UMIIXnOjd >>647 よくわかりました ありがとうございます
649デフォルトの名無しさん (ワッチョイ 9279-uYHt)
2024/03/24(日) 18:43:42.86ID:TrTyAT7D0 なにもわかってなさそうでほほえましい
650デフォルトの名無しさん (ワッチョイ ad63-Juro)
2024/03/24(日) 18:46:07.25ID:TfhtohDd0 構造体云々言う前に、配列の初期化方法についてまず調べろ
651デフォルトの名無しさん (スフッ Sdb2-rfcW)
2024/03/24(日) 18:47:29.73ID:UMIIXnOjd 我ながら Lolです☺
652デフォルトの名無しさん (ワッチョイ 09f0-d20A)
2024/03/24(日) 18:57:40.29ID:9Ye9tMrz0 >>621
Perlでメモリ不足になるってことは循環参照が発生してメモリが解放されない(PerlはリファレンスカウントGC)
もしくは深い再帰でPerl管理のVMスタックが枯渇したか
どちらにしろCで書いてもメモリをバカ食いするのは間違いないから
データ構造を見直すべき
循環参照を見直す、再帰をループに変えるなどを試してみてはどうか
Perlでメモリ不足になるってことは循環参照が発生してメモリが解放されない(PerlはリファレンスカウントGC)
もしくは深い再帰でPerl管理のVMスタックが枯渇したか
どちらにしろCで書いてもメモリをバカ食いするのは間違いないから
データ構造を見直すべき
循環参照を見直す、再帰をループに変えるなどを試してみてはどうか
653デフォルトの名無しさん (ワッチョイ 09f0-d20A)
2024/03/24(日) 19:10:42.18ID:9Ye9tMrz0 グラフ構造を使う場合は循環参照は容易に生まれるからな
PerlのScalar::Util::weakenで変数をラップしてやる
こうするとその変数は弱参照になる
PerlのScalar::Util::weakenで変数をラップしてやる
こうするとその変数は弱参照になる
654デフォルトの名無しさん (ワッチョイ 36e7-HgBz)
2024/03/25(月) 11:18:02.00ID:YX1noK3i0 弱参照ビオレ
655デフォルトの名無しさん (ワッチョイ 6fb3-MjEX)
2024/04/11(木) 18:10:49.56ID:h5i5y7Gi0 #include <stdio.h>
#include <string.h>
void main(void)
{
char c[32];
char *pc;
strcpy(c, "JAPAN-TOKYO-OSAKA");
pc = &c[0];
//for(int i=0; i<strlen(c); i++, *pc++){
for(int i=0; i<strlen(c); i++, pc++){
printf("%c", *pc);
}
printf("\n");
}
#include <string.h>
void main(void)
{
char c[32];
char *pc;
strcpy(c, "JAPAN-TOKYO-OSAKA");
pc = &c[0];
//for(int i=0; i<strlen(c); i++, *pc++){
for(int i=0; i<strlen(c); i++, pc++){
printf("%c", *pc);
}
printf("\n");
}
656デフォルトの名無しさん (ワッチョイ 6fb3-MjEX)
2024/04/11(木) 18:12:37.98ID:h5i5y7Gi0 コメントアウトしてる方のforにしても出力結果は同じになります
*付きポインタ変数は、中身へアクセスを意味するからめちゃくちゃな文字列が出力されるはずじゃ・・・?
どうしてなの?
*付きポインタ変数は、中身へアクセスを意味するからめちゃくちゃな文字列が出力されるはずじゃ・・・?
どうしてなの?
657デフォルトの名無しさん (スッップ Sd02-nKjL)
2024/04/11(木) 19:02:47.99ID:/0XH+klGd あなたが書いたのは*(pc++)を意味してます
658デフォルトの名無しさん (ワッチョイ 2363-Ky5X)
2024/04/11(木) 19:16:41.38ID:GKY1RwiV0 このソースを何という名前で保存して、何というコンパイラでコンパイルしたかとか、色々
659デフォルトの名無しさん (ワッチョイ 6fb3-MjEX)
2024/04/11(木) 20:20:43.87ID:h5i5y7Gi0660デフォルトの名無しさん (ワッチョイ 4ef0-WBP1)
2024/04/11(木) 20:25:30.86ID:RdqITFFi0 *も++も単項演算子で適用される優先順位がある
優先順位を意識してコーディングしないと痛い目に合う
a + b == cは想定通りだろうが、a & b == cは想定外の結果になるとかねw
優先順位を意識してコーディングしないと痛い目に合う
a + b == cは想定通りだろうが、a & b == cは想定外の結果になるとかねw
661デフォルトの名無しさん (ワッチョイ af69-zSwZ)
2024/04/11(木) 20:54:35.96ID:eGBAyvET0 足し算掛け算の掛け算をシフトに書き換えたら上手く動かなくなって焦った
662デフォルトの名無しさん (ワッチョイ 6f2a-MjEX)
2024/04/11(木) 21:46:39.46ID:6HtedQOj0 >>661
え、なぜ。
え、なぜ。
663デフォルトの名無しさん (ワッチョイ c261-Ky5X)
2024/04/11(木) 22:53:39.83ID:/Kb1qQiM0 シフト演算子は加減算より優先度低いのにカッコで囲わなかったって事でしょ
664デフォルトの名無しさん (ワッチョイ e279-V3xu)
2024/04/11(木) 23:28:45.21ID:0Tmkq/lZ0 まあ次がんばればいいよ
665デフォルトの名無しさん (ワッチョイ 4ef0-WBP1)
2024/04/11(木) 23:29:31.03ID:RdqITFFi0 シフトは乗除っぽいイメージだから加減算よりも先でいいよなぁ
ビット演算子が比較よりも後なのは完全に仕様バグだろ…
ビット演算子が比較よりも後なのは完全に仕様バグだろ…
666デフォルトの名無しさん (ワッチョイ e7df-6c53)
2024/04/11(木) 23:37:48.49ID:1F4I/FIC0 冴えてないときの自分のためにも、他人のためにも、なるべくカッコはつけるかな
667デフォルトの名無しさん (ワッチョイ e279-V3xu)
2024/04/11(木) 23:49:41.77ID:0Tmkq/lZ0 いまさら言って仕方ない事をいちいち書くなよ
お前が次のC言語でも作って人生を棒に振ればいいだけだよ
お前が次のC言語でも作って人生を棒に振ればいいだけだよ
668デフォルトの名無しさん (ワッチョイ 4ef0-WBP1)
2024/04/12(金) 00:17:11.46ID:nGLEgXOo0669デフォルトの名無しさん (ワッチョイ df01-B3tP)
2024/04/12(金) 00:21:54.57ID:GtdzNQir0 >>655
後に現れたC++のiostreamがシフト演算子をオーバーロードし入出力演算子として流用するのに
好都合で、思わぬ役に立つことになったからまあ良いだろ。もしシフト演算子が四則演算子より
優先順位が高かったら、cout << 1 + 2 * 3 << endl を cout << (1 + 2 * 3) << endl と
書かなければならず面倒だった。(C++がシフト演算子を全く別の機能に流用したのは不適切
だったという意見もあるが…)
後に現れたC++のiostreamがシフト演算子をオーバーロードし入出力演算子として流用するのに
好都合で、思わぬ役に立つことになったからまあ良いだろ。もしシフト演算子が四則演算子より
優先順位が高かったら、cout << 1 + 2 * 3 << endl を cout << (1 + 2 * 3) << endl と
書かなければならず面倒だった。(C++がシフト演算子を全く別の機能に流用したのは不適切
だったという意見もあるが…)
670デフォルトの名無しさん (ワッチョイ 4ef0-WBP1)
2024/04/12(金) 01:13:09.53ID:nGLEgXOo0671デフォルトの名無しさん (ワッチョイ e2ad-lyNC)
2024/04/12(金) 02:09:51.24ID:Wv2Zy+UZ0 >>656
*pc++ はまず *pc の処理をする。これで pc の差している先にある値を取り出すことになる。その次に pc を一つ分進ませる(実際に加算される値は sizeof(*pc))。
では最初に *pc で取り出した値はどこへ行ってしまうのか? それは何にも使われずにただ捨てられる。
*pc++ はまず *pc の処理をする。これで pc の差している先にある値を取り出すことになる。その次に pc を一つ分進ませる(実際に加算される値は sizeof(*pc))。
では最初に *pc で取り出した値はどこへ行ってしまうのか? それは何にも使われずにただ捨てられる。
672デフォルトの名無しさん (ワッチョイ 4e28-Nnmc)
2024/04/12(金) 07:08:32.50ID:gi41fiD00 *pc++の形はcやってたら所々で見るから否応なく慣れる
個人的にはケチくさい書き方で避けたい気持ちもあるがまぁそういう文化が根付いてるなら合わせざるを得ない
個人的にはケチくさい書き方で避けたい気持ちもあるがまぁそういう文化が根付いてるなら合わせざるを得ない
673デフォルトの名無しさん (オッペケ Sr5f-YGuu)
2024/04/12(金) 07:39:02.10ID:661KRJs/r674デフォルトの名無しさん (スッップ Sd02-3rFQ)
2024/04/12(金) 12:25:07.52ID:OadUyd3Md C言語の標準化委員はC++のほうも兼任してたりするから、ぶっちゃけC言語の改善にはやる気無しだから。
675デフォルトの名無しさん (ワッチョイ 62db-wLy8)
2024/04/12(金) 13:28:21.08ID:Lm13J0L60 C++もやる気無しだろ
676デフォルトの名無しさん (ワッチョイ 4ef0-WBP1)
2024/04/12(金) 14:41:57.50ID:nGLEgXOo0 C++はRustと比較されて安全性に劣るとレッテルを貼られて、どうしたもんか考えあぐねてるところだろうw
言語の拡張に対して完全に方向転換を強いられてるのは間違いない
それはCも一緒だな
言語の拡張に対して完全に方向転換を強いられてるのは間違いない
それはCも一緒だな
677デフォルトの名無しさん (ワッチョイ 4ef0-WBP1)
2024/04/12(金) 14:53:32.51ID:nGLEgXOo0 パフォーマンスを損なわずにRustと同等の安全性を追加するか、もうこのままそっとしておくかw、の2択だろう
678デフォルトの名無しさん (スフッ Sd02-L5r3)
2024/04/12(金) 15:20:27.37ID:dUdcEEpod >>674
もはやbetter Cでも何でもないのに、このスレでも繰り返しc++の話題出す奴居るし、やっぱユーザーも被ってるんだろな
まあCの設計の良否を他言語よりは比較的小さな差異から論じるのに有用だとは思う
おれみたいにC++は書かずともcpprefとか読んで式や文、宣言など局所的な構文知識だけちょっとある人は多かろう(ClassとかCに無い概念は読み飛ばしてて無知)
生まれた順序が逆だけど、FortranがC++とすればF言語/JuliaがCだね
大体サブセット+独自進化、標準化コミュニティ丸被り
もはやbetter Cでも何でもないのに、このスレでも繰り返しc++の話題出す奴居るし、やっぱユーザーも被ってるんだろな
まあCの設計の良否を他言語よりは比較的小さな差異から論じるのに有用だとは思う
おれみたいにC++は書かずともcpprefとか読んで式や文、宣言など局所的な構文知識だけちょっとある人は多かろう(ClassとかCに無い概念は読み飛ばしてて無知)
生まれた順序が逆だけど、FortranがC++とすればF言語/JuliaがCだね
大体サブセット+独自進化、標準化コミュニティ丸被り
679デフォルトの名無しさん (スッップ Sd02-3rFQ)
2024/04/12(金) 16:33:17.52ID:OadUyd3Md C++は好きじゃないからC言語はもっと改善していって欲しい。
nullptr型とか入るの遅すぎじゃね?
nullptr型とか入るの遅すぎじゃね?
680デフォルトの名無しさん (ワッチョイ 62e3-WBP1)
2024/04/12(金) 22:48:41.07ID:fQv3jEzD0 C++はCの機能を保ったまま、ありとあらゆるプログラミングパラダイムを突っ込んだもの
それがベターかどうかは人によるな
ただ、Cと互換性を保ったままそこまで進化したのは奇跡に近い
それがベターかどうかは人によるな
ただ、Cと互換性を保ったままそこまで進化したのは奇跡に近い
681デフォルトの名無しさん (ワッチョイ df01-g9Lk)
2024/04/12(金) 23:16:21.33ID:pf6tTSyT0 Cは概ねC++のサブセットだからしゃーない
682デフォルトの名無しさん (ワッチョイ 62e3-WBP1)
2024/04/13(土) 00:06:24.07ID:c7UXCLXT0 でも、Rustが安全性と性能は両立出来ることを証明してしまってから、一気に旗色が悪くなったw
今まで性能を免罪符にして、多少(かなり?)の安全性を犠牲にしてきたけど、もはや通用しない時代になった
今後どう進化するか見物だな
Cだって対岸の火事ではない
今まで性能を免罪符にして、多少(かなり?)の安全性を犠牲にしてきたけど、もはや通用しない時代になった
今後どう進化するか見物だな
Cだって対岸の火事ではない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 【映画】『クレヨンしんちゃん』 中国で公開延期 対日報復、エンタメに波及 [冬月記者★]
- うんこしたあとにお尻を拭く必要はないんだよ
- 日経時間外、5万円割れ 垂直落下始まる [402859164]
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- ウッドデッキで調子こいてたやついたじゃん
- 🦉エッホエッホ アンパンマンは猫舌って伝えなきゃ
- えんやすー
