C言語の設計ミスった危険な関数トップ10決めようぜ (215レス)
C言語の設計ミスった危険な関数トップ10決めようぜ http://mevius.5ch.net/test/read.cgi/tech/1574306624/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: デフォルトの名無しさん [sage] 2019/11/21(木) 12:23:44.93 ID:T7Jjyyy1 gets関数とか その他の例 https://www.jpcert.or.jp/sc-rules/c-msc24-c.html http://mevius.5ch.net/test/read.cgi/tech/1574306624/1
89: デフォルトの名無しさん [sage] 2019/12/16(月) 20:28:02.60 ID:jL52ryYk gotoじゃなくてgodowntoなら誰も文句言わなかった http://mevius.5ch.net/test/read.cgi/tech/1574306624/89
90: デフォルトの名無しさん [sage] 2019/12/16(月) 20:47:58.36 ID:LjjtFzBx 自分は小規模な字句解析みたいなのでもgoto使うことがある。 ラベルで状態を表してgotoで遷移する。 goto使わなかったら状態を変数に入れて、 ループの中でswitchで場合分けするようなコードになって辛い。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/90
91: デフォルトの名無しさん [sage] 2019/12/16(月) 20:52:55.59 ID:DbnQVwfE ループの中のswitchでループを抜けるのに gotoを使うんじゃ? http://mevius.5ch.net/test/read.cgi/tech/1574306624/91
92: デフォルトの名無しさん [sage] 2019/12/16(月) 21:41:34.22 ID:wRV+mRkt 次の状態を返す関数ポインタでループすればいんじゃないの? http://mevius.5ch.net/test/read.cgi/tech/1574306624/92
93: デフォルトの名無しさん [sage] 2019/12/16(月) 21:45:33.24 ID:jhycq5nX そんな野蛮なことはしません http://mevius.5ch.net/test/read.cgi/tech/1574306624/93
94: デフォルトの名無しさん [sage] 2019/12/16(月) 22:12:14.62 ID:arH1mwfY >>87 returnで抜けるためというか、 1. gotoで抜けたい 2. 関数にするか 3. あ、そもそもコードが複雑なんだな 4. 関数にして正解だった こんな感じかな。 gotoで抜けたいと思う=コードが複雑になってるという警鐘だと思ってる。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/94
95: デフォルトの名無しさん [sage] 2019/12/16(月) 22:22:18.57 ID:xr9KOlE0 で>>82みたいな意味不明な関数の分け方をすると >>57は、より複雑な記述をしたいっていう主張だし gotoに親を殺された人の言うことは支離滅裂 理由が後付けだからそうなる http://mevius.5ch.net/test/read.cgi/tech/1574306624/95
96: デフォルトの名無しさん [sage] 2019/12/16(月) 22:27:34.28 ID:arH1mwfY > で>>82みたいな意味不明な関数の分け方をすると なんで意味不明? そもそもその処理に意味をもたせてから言おうよw 処理に意味をもたせると、関数にしたほうが良いと思うからさ http://mevius.5ch.net/test/read.cgi/tech/1574306624/96
97: デフォルトの名無しさん [sage] 2019/12/16(月) 22:32:01.57 ID:arH1mwfY > 理由が後付けだからそうなる 質問の方が先なのに、理由を先に言えるわけがないw Q. 多重ループから抜けるのに、gotoは必要ですか? A. 必要ありません。多重ループが必要になるぐらい複雑なら関数にしますから これが普通だから、後付にはならないよね。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/97
98: デフォルトの名無しさん [sage] 2019/12/16(月) 22:37:09.13 ID:xr9KOlE0 じゃ>>57も当然不要ですね http://mevius.5ch.net/test/read.cgi/tech/1574306624/98
99: デフォルトの名無しさん [sage] 2019/12/16(月) 22:38:17.80 ID:arH1mwfY そんなにくり返し言わなくても、最初から不要だしw http://mevius.5ch.net/test/read.cgi/tech/1574306624/99
100: デフォルトの名無しさん [sage] 2019/12/16(月) 22:39:57.37 ID:xr9KOlE0 じゃあ>>57はどういうつもりで書いたんでしょうかね? http://mevius.5ch.net/test/read.cgi/tech/1574306624/100
101: デフォルトの名無しさん [sage] 2019/12/16(月) 22:40:50.59 ID:LjjtFzBx gogoサイコーっす http://mevius.5ch.net/test/read.cgi/tech/1574306624/101
102: デフォルトの名無しさん [sage] 2019/12/16(月) 22:41:03.68 ID:LjjtFzBx 間違えたw goto http://mevius.5ch.net/test/read.cgi/tech/1574306624/102
103: デフォルトの名無しさん [sage] 2019/12/16(月) 22:42:13.32 ID:xr9KOlE0 話を戻して ・ループを抜けた後に関数の後処理が必要な場合 ・ループを抜けた後にローカル変数を使った処理をする場合 ・他、意味的に関数内で処理したい場合 はどうするの? http://mevius.5ch.net/test/read.cgi/tech/1574306624/103
104: デフォルトの名無しさん [sage] 2019/12/16(月) 22:44:03.17 ID:arH1mwfY > ・ループを抜けた後に関数の後処理が必要な場合 前処理を関数の中でするな > ・ループを抜けた後に関数の後処理が必要な場合 戻り値を返せ >・他、意味的に関数内で処理したい場合 自分で具体例が思いつかないなら出すな http://mevius.5ch.net/test/read.cgi/tech/1574306624/104
105: デフォルトの名無しさん [sage] 2019/12/16(月) 22:45:01.13 ID:arH1mwfY コピペミスったな >・ループを抜けた後にローカル変数を使った処理をする場合 戻り値を返せ http://mevius.5ch.net/test/read.cgi/tech/1574306624/105
106: デフォルトの名無しさん [sage] 2019/12/16(月) 22:48:10.00 ID:xr9KOlE0 >>104 なぜ? http://mevius.5ch.net/test/read.cgi/tech/1574306624/106
107: デフォルトの名無しさん [sage] 2019/12/16(月) 22:52:22.49 ID:arH1mwfY >>106 なにが? ってか、もう少し具体例を書けよ。 それみれば設計がおかしいという結論になる 例えて言うなら、パーサーの処理の中でネットワークにアクセスしたい時困るから ネットワークモジュールはグローバルにアクセスできるようにしておくべき みたいなことを言ってるようなもんだよ。それは設計がおかしい。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/107
108: デフォルトの名無しさん [sage] 2019/12/16(月) 22:54:10.44 ID:xr9KOlE0 int func(int n){ ロック ループ アンロック return 結果; } http://mevius.5ch.net/test/read.cgi/tech/1574306624/108
109: デフォルトの名無しさん [sage] 2019/12/16(月) 22:55:55.89 ID:xr9KOlE0 int func(int n){ ループ 値を加工 return 値 } http://mevius.5ch.net/test/read.cgi/tech/1574306624/109
110: デフォルトの名無しさん [sage] 2019/12/16(月) 22:58:13.41 ID:arH1mwfY >>108 「ループ」という言い方がおかしい。 ループで「実装」しているのであって やっているのはなにかの「処理」だろう? int func(int n){ ロック 処理 アンロック return 結果; } 「処理」という名前をつけたくなるならば、 そこは独立した関数にするべきだろう http://mevius.5ch.net/test/read.cgi/tech/1574306624/110
111: デフォルトの名無しさん [sage] 2019/12/16(月) 23:02:27.04 ID:xr9KOlE0 double sigma(const double *a){ ループで総和と2乗和と数を計算 標準偏差を計算 return 標準偏差 } http://mevius.5ch.net/test/read.cgi/tech/1574306624/111
112: デフォルトの名無しさん [sage] 2019/12/16(月) 23:04:47.03 ID:xr9KOlE0 int func(int n){ int a[10] = {0}; ループ aから値を計算 return 値 } http://mevius.5ch.net/test/read.cgi/tech/1574306624/112
113: デフォルトの名無しさん [sage] 2019/12/16(月) 23:06:46.75 ID:xr9KOlE0 いくらでも思い浮かぶ http://mevius.5ch.net/test/read.cgi/tech/1574306624/113
114: デフォルトの名無しさん [sage] 2019/12/16(月) 23:07:37.81 ID:LjjtFzBx 全部関数に分けろって言われて終わりそう http://mevius.5ch.net/test/read.cgi/tech/1574306624/114
115: デフォルトの名無しさん [sage] 2019/12/16(月) 23:09:19.22 ID:xr9KOlE0 分ける理由がない http://mevius.5ch.net/test/read.cgi/tech/1574306624/115
116: デフォルトの名無しさん [sage] 2019/12/16(月) 23:10:06.65 ID:xr9KOlE0 >>112を分けてみて http://mevius.5ch.net/test/read.cgi/tech/1574306624/116
117: デフォルトの名無しさん [sage] 2019/12/16(月) 23:17:03.74 ID:xr9KOlE0 関数分けってのは意味、機能、汎用性、...で分けるべきであって 単にループを抜けるのにreturnを使いたいから分けるとかを考えるべきじゃない http://mevius.5ch.net/test/read.cgi/tech/1574306624/117
118: デフォルトの名無しさん [sage] 2019/12/16(月) 23:23:11.90 ID:xr9KOlE0 素直にgotoの使い方を覚えた方が良いよ 意地はってないで http://mevius.5ch.net/test/read.cgi/tech/1574306624/118
119: デフォルトの名無しさん [sage] 2019/12/16(月) 23:42:01.03 ID:arH1mwfY >>118 だから意味とか汎用性とかで分けると 自然にループに抜けるときにreturnを使えば良くなるんだよ http://mevius.5ch.net/test/read.cgi/tech/1574306624/119
120: デフォルトの名無しさん [sage] 2019/12/16(月) 23:45:51.39 ID:jL52ryYk gotoでもreturnでも読めれば良い 但し1関数50行以上は読めないんで宜しく http://mevius.5ch.net/test/read.cgi/tech/1574306624/120
121: デフォルトの名無しさん [sage] 2019/12/16(月) 23:48:10.14 ID:arH1mwfY >>112 だから「ループ」と書くなっちゅうねんw 関数を設計するならこんな感じやろ? int func(int n){ int a[10] = {0}; memset_random(a, sizeof(a)); // a配列をランダムな値で埋める int chksum = chksum(a, sizeof(a)); // a配列のチェックサムを計算 return 値 } 関数の中でループしてようが何して用が関係ないわ http://mevius.5ch.net/test/read.cgi/tech/1574306624/121
122: デフォルトの名無しさん [sage] 2019/12/16(月) 23:55:19.85 ID:xr9KOlE0 sizeof(a) とか書くレベルの相手してたのか アホらしい http://mevius.5ch.net/test/read.cgi/tech/1574306624/122
123: デフォルトの名無しさん [sage] 2019/12/17(火) 00:04:36.92 ID:JvBVW/sd >>119 じゃあ普通のbreakもいらないね まさか使ってないよね http://mevius.5ch.net/test/read.cgi/tech/1574306624/123
124: デフォルトの名無しさん [sage] 2019/12/17(火) 06:41:54.53 ID:YMIUnRyv まあgotoあればbreakは要らんわなw そんな言語は使いたくないけど http://mevius.5ch.net/test/read.cgi/tech/1574306624/124
125: デフォルトの名無しさん [sage] 2019/12/17(火) 07:00:38.11 ID:JvBVW/sd gotoもbreakもいらないって http://mevius.5ch.net/test/read.cgi/tech/1574306624/125
126: デフォルトの名無しさん [sage] 2019/12/17(火) 07:10:23.36 ID:JvBVW/sd gotoもbreakも無い ループを抜けるときはreturn switchを抜ける時もreturm 関数は単一の処理しか出来ない こんな言語はイヤだね http://mevius.5ch.net/test/read.cgi/tech/1574306624/126
127: デフォルトの名無しさん [sage] 2019/12/17(火) 07:23:38.89 ID:JvBVW/sd 後に退けなくなったアホの作る言語 http://mevius.5ch.net/test/read.cgi/tech/1574306624/127
128: デフォルトの名無しさん [sage] 2019/12/17(火) 07:39:52.35 ID:odSFZTU+ gotoの使い方 http://www7b.biglobe.ne.jp/~robe/cpphtml/html03/cpp03005.html http://www9.plala.or.jp/sgwr-t/c/sec06-6.html http://tomeapp.jp/archives/1029 http://opencv.jp/opencv-2svn/c/core_utility_and_system_functions_and_macros.html http://mevius.5ch.net/test/read.cgi/tech/1574306624/128
129: デフォルトの名無しさん [sage] 2019/12/17(火) 08:49:57.51 ID:QeraReD1 たとえ相手がアホであっても、しつこく絡むのもまたアホだと思うんだが… http://mevius.5ch.net/test/read.cgi/tech/1574306624/129
130: デフォルトの名無しさん [sage] 2019/12/17(火) 12:33:06.04 ID:vDeQfs2U 自分より下の人間を叩くしか能がないんだろ ID:arH1mwfYなんてスルーでいいと思うんだがそれしか叩けないからいつまでたっても終わらないw http://mevius.5ch.net/test/read.cgi/tech/1574306624/130
131: デフォルトの名無しさん [sage] 2019/12/17(火) 13:15:29.02 ID:GBggCGQK 雑談スレだしネタも無いから良いんじゃね? http://mevius.5ch.net/test/read.cgi/tech/1574306624/131
132: デフォルトの名無しさん [sage] 2019/12/17(火) 18:32:11.83 ID:x9hYOthl String型が無いって死ぬほど不便なんだが http://mevius.5ch.net/test/read.cgi/tech/1574306624/132
133: デフォルトの名無しさん [sage] 2019/12/17(火) 19:06:56.22 ID:p6v4J1KY 他の言語を使ってください http://mevius.5ch.net/test/read.cgi/tech/1574306624/133
134: デフォルトの名無しさん [sage] 2019/12/17(火) 19:18:33.78 ID:6LhBKKEf >>132 自分で似たようなものを作ればいいだろ。汎用的なものがあっても使い勝手や性能で何かしら不満が出るのだから、自分の要求に合致するものを自分で作りな。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/134
135: デフォルトの名無しさん [sage] 2019/12/17(火) 20:52:31.46 ID:QeraReD1 特定の用途においてローカルラベルが役に立つことも無くはないかもしれないな。 自分でそれをやるかどうかは別にして。 いずれにせよ、gcc では式の中で変数を宣言できるのだから ローカルラベルが可能になっても驚かないよ。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/135
136: 132 [sage] 2019/12/18(水) 23:56:34.28 ID:9RDvo6To typedefを使用 https://pastebin.com/iX2DDpRA http://mevius.5ch.net/test/read.cgi/tech/1574306624/136
137: デフォルトの名無しさん [] 2019/12/19(木) 00:12:48.48 ID:vqVcyk4J PHPはbreakにネスト数指定できるよな http://mevius.5ch.net/test/read.cgi/tech/1574306624/137
138: デフォルトの名無しさん [sage] 2019/12/19(木) 09:03:44.36 ID:vjQjJ4nK C言語の開発者によるgoto文の使い方を対象とした実証研究の結果、「goto文は無害だと考えられる」 https://developers.srad.jp/story/15/02/14/2017207/ http://mevius.5ch.net/test/read.cgi/tech/1574306624/138
139: デフォルトの名無しさん [sage] 2019/12/19(木) 16:51:03.60 ID:86m15ms9 longjmp についても調査してほしいな。 特に例は挙げないが、誰もが使っているようなプログラムでも結構使われてる。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/139
140: デフォルトの名無しさん [] 2019/12/19(木) 16:57:20.13 ID:+cpLTGtZ static http://mevius.5ch.net/test/read.cgi/tech/1574306624/140
141: デフォルトの名無しさん [sage] 2019/12/25(水) 01:15:13.49 ID:k3ZI/Zl3 >>139 それは代わりがない。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/141
142: デフォルトの名無しさん [sage] 2020/07/09(木) 10:18:18.26 ID:tNMImStE >>7 大発明なんbだけどな、 リスクも大きい http://mevius.5ch.net/test/read.cgi/tech/1574306624/142
143: デフォルトの名無しさん [] 2020/07/09(木) 10:22:15.80 ID:vrNDocOm 発明って言うか当時はそれが普通だったろ http://mevius.5ch.net/test/read.cgi/tech/1574306624/143
144: デフォルトの名無しさん [sage] 2020/07/09(木) 10:51:31.74 ID:I92CxMlL longjmpは「設計上のミス」ではないんでは。 むしろそういう動作をする目的で設計・導入されたように思えるけど (longjmpに関するRationaleを読んでないので当てずっぽうw) http://mevius.5ch.net/test/read.cgi/tech/1574306624/144
145: デフォルトの名無しさん [sage] 2020/07/09(木) 16:31:13.77 ID:KHuqFwsC >>5 エスティーアールトゥーケー http://mevius.5ch.net/test/read.cgi/tech/1574306624/145
146: デフォルトの名無しさん [sage] 2020/07/09(木) 21:58:30.04 ID:Zo8nB2NL 例外は setjump、longjumpて実装されてるんじゃないのかな? 違うのかな? http://mevius.5ch.net/test/read.cgi/tech/1574306624/146
147: デフォルトの名無しさん [sage] 2020/07/10(金) 22:03:48.37 ID:AfLodKTd >>143 普通じゃない 当時はPascalの文字数+文字列が普通 http://mevius.5ch.net/test/read.cgi/tech/1574306624/147
148: デフォルトの名無しさん [] 2020/07/10(金) 22:26:03.98 ID:U1HXCT7S returnが1変数しか対応していないこと。 ポインター祭りになって可読性がウンコになる http://mevius.5ch.net/test/read.cgi/tech/1574306624/148
149: デフォルトの名無しさん [sage] 2020/07/10(金) 23:11:39.81 ID:7RoGj1wV >>148 可読性がうんこなのはお前の能力が足りないから http://mevius.5ch.net/test/read.cgi/tech/1574306624/149
150: デフォルトの名無しさん [] 2020/07/11(土) 00:22:05.38 ID:UdJEarb2 いろんな言語たらい回しにされるって不幸だよね。 こういうノーガキ垂れる奴がウチの職場にいなくて良かった〜ヽ(´▽`)/ http://mevius.5ch.net/test/read.cgi/tech/1574306624/150
151: デフォルトの名無しさん [] 2020/07/11(土) 10:50:20.85 ID:J0INoyBc >>147 OSのAPIは文字数じゃなくて 文字列byte列+デリミタ'$' みたいなのが多かったぞ http://mevius.5ch.net/test/read.cgi/tech/1574306624/151
152: デフォルトの名無しさん [sage] 2020/07/11(土) 12:01:47.31 ID:2M7rjl8q >>151 それはCP/Mの文字列出力がそうなっていただけ 入力はC言語のfgets()なんかみたいにデリミタの '$' を付加したりしないよ http://mevius.5ch.net/test/read.cgi/tech/1574306624/152
153: デフォルトの名無しさん [sage] 2020/07/11(土) 23:02:45.45 ID:wT5X8b6q MASM もそうだけど、$ は実際にメモリに配置されるのですか? それとも、db(アセンブラ命令)で長さを省略するためのものですか? http://mevius.5ch.net/test/read.cgi/tech/1574306624/153
154: デフォルトの名無しさん [sage] 2020/07/11(土) 23:04:50.81 ID:wT5X8b6q すみません、>>153 です 送信した瞬間に自分の発言の矛盾に気がつきました… http://mevius.5ch.net/test/read.cgi/tech/1574306624/154
155: デフォルトの名無しさん [sage] 2020/07/13(月) 19:12:30.84 ID:Xa4f7njE >>146 longjumbと例外に関して すばらしい文書があるからお読みなさって。 http://www.nurs.or.jp/~sug/a/super/longjmp.htm#sec36 http://mevius.5ch.net/test/read.cgi/tech/1574306624/155
156: デフォルトの名無しさん [] 2020/07/13(月) 19:20:56.50 ID:WBkWHxcT そっちは Not Found ですよ http://www.nurs.or.jp/~sug/soft/super/longjmp.htm http://mevius.5ch.net/test/read.cgi/tech/1574306624/156
157: ◆QZaw55cn4c [sage] 2020/07/13(月) 20:53:25.68 ID:p7kPKe7n >>156 ありがとうございます、昔に読んだのに URL を失ってしまって…ずっと探していたんです http://mevius.5ch.net/test/read.cgi/tech/1574306624/157
158: デフォルトの名無しさん [sage] 2020/07/13(月) 21:24:21.32 ID:jVM2RLmn >>155 ありがとうございます >>146 です 拝見いたします http://mevius.5ch.net/test/read.cgi/tech/1574306624/158
159: デフォルトの名無しさん [139] 2020/07/14(火) 09:59:19.87 ID:obK0XQNS ありがとうございます。いや、longjmp をdisるような意図は無かったんだけど。 「シグナルとコールバック」も勉強になります。 http://www.nurs.or.jp/%7Esug/soft/super/signal.htm この辺りは man を読んでも使い方が解りにくいので… http://mevius.5ch.net/test/read.cgi/tech/1574306624/159
160: デフォルトの名無しさん [sage] 2020/07/23(木) 11:48:35.85 ID:3i8DjqKb _sが付いてるやつ使えよ http://mevius.5ch.net/test/read.cgi/tech/1574306624/160
161: デフォルトの名無しさん [sage] 2021/05/21(金) 17:59:38.38 ID:lDwsy5iU 関数じゃないけどこれやろ If the unsigned type has conversion rank greater than or equal to the rank of the signed type, then the operand with the signed type is implicitly converted to the unsigned type. うんこ http://mevius.5ch.net/test/read.cgi/tech/1574306624/161
162: デフォルトの名無しさん [sage] 2021/05/21(金) 18:32:54.36 ID:lDwsy5iU プログラマを信じろと言うけどさ じゃあ暗黙の型変換とか余計な節介やめてくれねーかな http://mevius.5ch.net/test/read.cgi/tech/1574306624/162
163: デフォルトの名無しさん [sage] 2021/05/21(金) 18:36:26.66 ID:HkPQV5tP cでまともに算数出来れば一人前 http://mevius.5ch.net/test/read.cgi/tech/1574306624/163
164: デフォルトの名無しさん [sage] 2021/07/18(日) 03:12:16.30 ID:a6CF+eHw 暗黙が嫌なら明示しろよばかじゃないの? http://mevius.5ch.net/test/read.cgi/tech/1574306624/164
165: デフォルトの名無しさん [sage] 2023/01/02(月) 19:09:01.78 ID:N1W2ThUk >>162 暗黙の型変換はワーニング出るようにできなかったっけ? http://mevius.5ch.net/test/read.cgi/tech/1574306624/165
166: デフォルトの名無しさん [sage] 2023/05/10(水) 10:41:52.89 ID:zbvSAEuT >>138 まとめがおかしい 啓蒙活動の結果gotoの有害な使い方は極めて少なくなった というべきだろう http://mevius.5ch.net/test/read.cgi/tech/1574306624/166
167: デフォルトの名無しさん [sage] 2023/08/04(金) 19:33:28.29 ID:+XXFTri2 ken thompsonがcreat()の最後のeを省いたのは失敗だったと 直すとしたらそこを直したいと http://mevius.5ch.net/test/read.cgi/tech/1574306624/167
168: デフォルトの名無しさん [sage] 2023/09/27(水) 15:27:11.03 ID:0JeuaQMM 失敗は成功への近道だと思って取り組んでみよう。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/168
169: デフォルトの名無しさん [sage] 2023/09/30(土) 09:21:33.38 ID:z8ssgezC (”ロ”;)ゲゲッ!! http://mevius.5ch.net/test/read.cgi/tech/1574306624/169
170: デフォルトの名無しさん [sage] 2023/10/03(火) 12:21:18.69 ID:QaeBAOHS 型省略でintと看做すのはミスだろ http://mevius.5ch.net/test/read.cgi/tech/1574306624/170
171: デフォルトの名無しさん [sage] 2023/10/04(水) 22:29:38.55 ID:pmZG4qtZ >>170 K&Rの頃との互換性の為じゃないかな。 Cは、兎に角モノグサの為の様な仕様が多いよね。 一度馴染むと、BASICですら面倒くさい。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/171
172: デフォルトの名無しさん [] 2023/10/05(木) 17:05:36.61 ID:WXXGTjkD まんどくせ http://mevius.5ch.net/test/read.cgi/tech/1574306624/172
173: デフォルトの名無しさん [] 2023/10/05(木) 19:40:42.12 ID:KP6Kmsv6 ポインタ渡し全般かな http://mevius.5ch.net/test/read.cgi/tech/1574306624/173
174: デフォルトの名無しさん [] 2023/10/05(木) 22:17:24.30 ID:nm5oakcJ Cの型はある意味pythonより弱い http://mevius.5ch.net/test/read.cgi/tech/1574306624/174
175: デフォルトの名無しさん [sage] 2023/10/07(土) 11:48:43.75 ID:QSI1NZ2Z ある意味というか、Pythonは一応強い型付けでしょ。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/175
176: デフォルトの名無しさん [] 2023/10/07(土) 11:51:33.89 ID:SZDGKzpf Cに型なんかあって無い様なもんだしな http://mevius.5ch.net/test/read.cgi/tech/1574306624/176
177: デフォルトの名無しさん [sage] 2023/10/07(土) 17:38:41.59 ID:2aizzJpQ >>1 fgets知らんのかな getsなんて使わない どうしても使う時はfgets(buf,size,stdin)とすればいいだけ http://mevius.5ch.net/test/read.cgi/tech/1574306624/177
178: デフォルトの名無しさん [] 2023/10/08(日) 10:11:26.30 ID:CrdCteTP >>176 Cはアセンブラで言うところのアドレッシングが充実 http://mevius.5ch.net/test/read.cgi/tech/1574306624/178
179: デフォルトの名無しさん [] 2023/10/09(月) 15:00:06.76 ID:gMk1hFfQ マクロが真っ黒 http://mevius.5ch.net/test/read.cgi/tech/1574306624/179
180: デフォルトの名無しさん [sage] 2023/10/15(日) 02:11:48.65 ID:LZ9c8wO/ ∑(ノ▼ο▼)ノ オォオォオ!! http://mevius.5ch.net/test/read.cgi/tech/1574306624/180
181: デフォルトの名無しさん [] 2023/10/16(月) 09:47:48.72 ID:kgcCjrnK DDoS回避したみたいね http://mevius.5ch.net/test/read.cgi/tech/1574306624/181
182: デフォルトの名無しさん [] 2023/10/17(火) 11:44:25.59 ID:xDsy3kB7 atan (atan2の方じゃなくて) http://mevius.5ch.net/test/read.cgi/tech/1574306624/182
183: デフォルトの名無しさん [] 2023/10/18(水) 07:26:03.37 ID:rpmqe4zi くせの強いscanf()とか http://mevius.5ch.net/test/read.cgi/tech/1574306624/183
184: デフォルトの名無しさん [] 2023/10/18(水) 07:26:15.66 ID:rpmqe4zi くせの強いscanf()とか http://mevius.5ch.net/test/read.cgi/tech/1574306624/184
185: デフォルトの名無しさん [] 2023/10/18(水) 14:31:46.14 ID:UTD5vf1X visual studioでscanf()使ったらエラーになった http://mevius.5ch.net/test/read.cgi/tech/1574306624/185
186: デフォルトの名無しさん [] 2023/10/18(水) 14:31:57.74 ID:UTD5vf1X visual studioでscanf()使ったらエラーになった http://mevius.5ch.net/test/read.cgi/tech/1574306624/186
187: デフォルトの名無しさん [] 2023/10/20(金) 09:24:01.14 ID:/M3RKJCH free() http://mevius.5ch.net/test/read.cgi/tech/1574306624/187
188: デフォルトの名無しさん [] 2023/12/15(金) 15:34:51.20 ID:dazO4Xak sprintf() http://mevius.5ch.net/test/read.cgi/tech/1574306624/188
189: デフォルトの名無しさん [] 2023/12/17(日) 07:31:47.54 ID:9k4gJxXV fopen() http://mevius.5ch.net/test/read.cgi/tech/1574306624/189
190: デフォルトの名無しさん [] 2023/12/17(日) 08:12:54.14 ID:9k4gJxXV ctime() http://mevius.5ch.net/test/read.cgi/tech/1574306624/190
191: デフォルトの名無しさん [] 2023/12/31(日) 16:48:51.59 ID:vzW4N1bb fopen http://mevius.5ch.net/test/read.cgi/tech/1574306624/191
192: デフォルトの名無しさん [] 2024/01/06(土) 17:10:43.88 ID:3kEfHLiK strtok http://mevius.5ch.net/test/read.cgi/tech/1574306624/192
193: デフォルトの名無しさん [] 2024/02/01(木) 07:45:39.19 ID:aKV2ok3G freopen() http://mevius.5ch.net/test/read.cgi/tech/1574306624/193
194: デフォルトの名無しさん [sage] 2024/02/01(木) 10:15:46.72 ID:oHnzHX84 アセンブラの補助言語に何期待してスレ立ててんだかw http://mevius.5ch.net/test/read.cgi/tech/1574306624/194
195: デフォルトの名無しさん [] 2024/03/16(土) 16:31:48.55 ID:YyexUT5o tmpnam() http://mevius.5ch.net/test/read.cgi/tech/1574306624/195
196: デフォルトの名無しさん [] 2024/04/02(火) 13:56:34.07 ID:OXdmWprY getenv http://mevius.5ch.net/test/read.cgi/tech/1574306624/196
197: デフォルトの名無しさん [sage] 2024/04/02(火) 20:32:38.29 ID:yb6rvSIG 知ってる関数を並べるスレ それにしても知らな過ぎるけどw http://mevius.5ch.net/test/read.cgi/tech/1574306624/197
198: デフォルトの名無しさん [sage] 2024/04/08(月) 01:34:00.49 ID:BIzdd6FB C言語自体が設計ミス http://mevius.5ch.net/test/read.cgi/tech/1574306624/198
199: デフォルトの名無しさん [] 2024/04/19(金) 05:42:28.44 ID:uD5nyH4z C言語はUNIXを作るために作ったんだから、それを流用したせいで、アプリケーションの作成には合わないところがあるのは当然。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/199
200: デフォルトの名無しさん [sage] 2024/04/20(土) 15:12:18.54 ID:CogYy1zn https://ja.wikipedia.org/?curid=1022 「UNIXを開発するためにC言語が作り出された」と言われることがあるが、「The Development of the C Language」によると、これは正しくなく、経緯は以下の通りである。 C言語は、当初はあくまでもOS上で動くユーティリティを作成する目的で作り出されたものであり、OSのカーネルを記述するために使われるようになるのは後の展開である。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/200
201: デフォルトの名無しさん [] 2024/10/02(水) 13:09:25.40 ID:XbzwGALZ char *a と char a[] を関数の引数でも一緒にしてしまったところ http://mevius.5ch.net/test/read.cgi/tech/1574306624/201
202: デフォルトの名無しさん [sage] 2024/10/04(金) 12:11:23.07 ID:swUgCMz+ >>201 そこは長所では・・・? http://mevius.5ch.net/test/read.cgi/tech/1574306624/202
203: デフォルトの名無しさん [] 2024/10/04(金) 13:36:09.69 ID:RixEjMnj 長所だらけで困るわ http://mevius.5ch.net/test/read.cgi/tech/1574306624/203
204: デフォルトの名無しさん [sage] 2024/10/06(日) 00:28:28.16 ID:k+hD1Cqq 配列からポインタへの暗黙の変換があるんだから型としては別で良かったんだよ おかげで配列全体の値渡しや代入ができなくなってしまった http://mevius.5ch.net/test/read.cgi/tech/1574306624/204
205: デフォルトの名無しさん [sage] 2024/10/06(日) 00:39:07.43 ID:MZAtOKFs 無意識にそんなムダなことやられても困る mallocとか使って明示的にやれるからいいだろ http://mevius.5ch.net/test/read.cgi/tech/1574306624/205
206: デフォルトの名無しさん [sage] 2024/10/06(日) 12:12:21.53 ID:onWt8ZIM 値で渡したかったら構造体で包めばいいし 逆に配列を値渡しするような言語って少ないんじゃないの 参照渡しするのばっかりだろ http://mevius.5ch.net/test/read.cgi/tech/1574306624/206
207: デフォルトの名無しさん [sage] 2024/10/06(日) 13:06:18.36 ID:k+hD1Cqq 一貫性のない型があるとジェネリクスに支障が出る C++はそれですごい苦労した挙句std::arrayみたいな馬鹿みたいなものができた http://mevius.5ch.net/test/read.cgi/tech/1574306624/207
208: デフォルトの名無しさん [sage] 2024/10/07(月) 10:27:10.86 ID:1tKKan7C >>206 結局フレキシブル構造体が仕様として認められてる以上、実体渡しも信用ならんのよ struct chinko{ int a; char b[0]; }; gccならこんなうんちもある struct unko{ int a[0]; char b[0]; }; http://mevius.5ch.net/test/read.cgi/tech/1574306624/208
209: デフォルトの名無しさん [] 2024/12/13(金) 17:18:33.74 ID:cICuvaCO C++で気をつけなければならないのは size_t i=10; double x=3-i; 十分地獄を堪能できる。C言語もunsigned int使えば同じか http://mevius.5ch.net/test/read.cgi/tech/1574306624/209
210: デフォルトの名無しさん [] 2024/12/13(金) 20:54:34.36 ID:3kdcRUf+ sssp://img.5ch.net/ico/nida.gif EchoAPIをVS Codeで使い始めてから、開発プロセスが大きく変わった http://mevius.5ch.net/test/read.cgi/tech/1574306624/210
211: デフォルトの名無しさん [] 2024/12/21(土) 10:57:59.51 ID:bIHzWCsd strlen http://mevius.5ch.net/test/read.cgi/tech/1574306624/211
212: デフォルトの名無しさん [] 2024/12/21(土) 17:09:02.79 ID:SDOaO/8s シュトーレン http://mevius.5ch.net/test/read.cgi/tech/1574306624/212
213: デフォルトの名無しさん [sage] 2024/12/22(日) 22:33:54.16 ID:63BRvCCZ fork;execvp http://mevius.5ch.net/test/read.cgi/tech/1574306624/213
214: デフォルトの名無しさん [sage] 2024/12/29(日) 07:02:35.25 ID:pX0TYs46 C言語には、組み込み関数なんてmainしか無いと思うなあ。 http://mevius.5ch.net/test/read.cgi/tech/1574306624/214
215: デフォルトの名無しさん [sage] 2024/12/29(日) 10:09:42.10 ID:Jnwqtt+s 面倒くさいからPOSIXは組込み扱いでいいよ http://mevius.5ch.net/test/read.cgi/tech/1574306624/215
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.022s