C言語なら俺に聞け 141 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2017/07/17(月) 21:06:47.63ID:J4JGo3XO
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/


http://mevius.2ch.net/test/read.cgi/tech/1494508803/
http://www.geocities.jp/c_cpp_cs/about_c/
2017/07/27(木) 07:29:22.91ID:P1js1uXh
>>219
宣言時の初期化では入らんよ
221デフォルトの名無しさん
垢版 |
2017/07/27(木) 13:22:08.96ID:HCdXe105
>>219
実名晒せよ、その下痢糞コンパイラ
2017/07/27(木) 18:39:00.21ID:ZSUs8tWw
素朴な質問で悪いが、C言語ってなんで多くが挫折すんの? JavaやC#なら、派遣でも生き延びていくのに・・・
2017/07/27(木) 19:09:17.24ID:LWV2Yf86
Cは、ポインターとかマクロとか落とし穴が多いんだよね。文字列を扱うのも難しいし。しかもセキュリティ上の欠陥がある。
2017/07/27(木) 19:15:04.97ID:F0lzbPxl
Cにセキュリティ上の欠陥?
使い方の問題でしょ?
2017/07/27(木) 19:16:27.05ID:F0lzbPxl
大昔に出来た低級言語なんだから、
多少の事は我慢
226デフォルトの名無しさん
垢版 |
2017/07/27(木) 19:17:38.76ID:/VCkXAgy
Cは環境依存が激しくて、何やるにもめんどくさいからだと思うな。
コピペプログラマが生きていけない。
227デフォルトの名無しさん
垢版 |
2017/07/27(木) 19:24:01.58ID:pZs9Jdf1
ポインタとかもだけど、リストの使い方は知ってても作り方知らない子とか多そうだぬ。
2017/07/27(木) 19:25:18.20ID:F0lzbPxl
何のリスト?
初期化リスト?
2017/07/27(木) 19:26:56.69ID:LWV2Yf86
連結リストだろ、JK。
2017/07/27(木) 19:41:55.89ID:F26VGNcc
いや連結リストの作り方知らない子はレアだから違うだろJK
231デフォルトの名無しさん
垢版 |
2017/07/27(木) 19:49:40.05ID:pZs9Jdf1
ごめん。
ただの偏見。
JavaやC#はListクラスで連結リスト使えるから、作り方知らない若者多そうって思ってた。
そうかレアか。
安心した。
2017/07/27(木) 19:50:41.52ID:tCxrViSf
使い方
って書いてあるから
Cの機能にあるリストだと思ったのだが
2017/07/27(木) 19:52:12.25ID:tCxrViSf
>>227が悪い
234デフォルトの名無しさん
垢版 |
2017/07/27(木) 19:55:40.06ID:pZs9Jdf1
>>232
Cにリストって有ったっけ?
ANSI C止まりだから、最近のは入ってるのかな。

>>233
ホントごめん。
2017/07/27(木) 19:59:03.32ID:tCxrViSf
だから
初期化リスト?
って書いたんだけど
236デフォルトの名無しさん
垢版 |
2017/07/27(木) 20:11:05.11ID:pZs9Jdf1
初期化リストってなんだろ。。。

あれかな。

int a[] = {1,2,3};

みたいな奴か?
あんなん、数が100とか200になったらループで初期化とかになるから違うかな。
JavaやC#もその辺は変わらなかった気もするけど。

まあいいや。
迷惑かけたみたいだし、ROMるわ。
237デフォルトの名無しさん
垢版 |
2017/07/27(木) 20:28:21.83ID:DDfF3pSC
>>222
C言語は同じことをするのにもいろんな書き方ができる。無駄に難しくも書ける。
238デフォルトの名無しさん
垢版 |
2017/07/27(木) 21:58:49.46ID:HCdXe105
セキュリティ上の欠陥がある。
セキュリティ上の欠陥がある。
セキュリティ上の欠陥がある。
239デフォルトの名無しさん
垢版 |
2017/07/27(木) 22:01:29.56ID:DDfF3pSC
>>238
株式会社メビウス(mob)
http://matsuri.2ch.net/test/read.cgi/infosys/1501121465/
240デフォルトの名無しさん
垢版 |
2017/07/27(木) 22:02:42.86ID:DDfF3pSC
>>238
それ、欠陥じゃなくてそこまで理解して使用するものだから。本気で言ってんの?
241デフォルトの名無しさん
垢版 |
2017/07/27(木) 22:09:44.77ID:HCdXe105
リーナス君ならどんな暴言吐いてくだろうかね
2017/07/27(木) 22:10:30.95ID:P8zzUyc0
リストの「作り方」って書いてあるのに初期化リストを持ってくる奴ってマジで近くにいてほしくないわ
243デフォルトの名無しさん
垢版 |
2017/07/27(木) 22:20:24.47ID:KBJFSsyK
>>241
リーナスくんがメビウスに暴言?
2017/07/27(木) 22:22:40.74ID:LWV2Yf86
拳銃は危ないよなあ。原子炉の制御にC言語を使われたら、それは拳銃のように危ない。
Cを安全に使うには、安全装置とか哲学とか人工知能みたいなものが必要になる。
さもないとどこかの国みたいにハッキングされるだろう。
245デフォルトの名無しさん
垢版 |
2017/07/27(木) 22:31:06.10ID:KBJFSsyK
>>244
原子炉の制御にC使ってるんじゃない?
むしろ、C以外の方が危ない気が。
246デフォルトの名無しさん
垢版 |
2017/07/27(木) 22:34:40.88ID:pZs9Jdf1
>>238
今時の言語の例外処理の相当する部分も自分で書くからねぇ。
安全じゃないと言えばそうだし、元々プロ向け言語って言われてたし。
そこに憧れて火傷する人は昔から多かった。
(自分含む)
2017/07/27(木) 22:40:41.83ID:tCxrViSf
>>242
日本語読めないアホ
2017/07/27(木) 22:41:49.10ID:LWV2Yf86
あ、「C言語にセキュリティ上の欠陥がある」は、国家機密だからな。絶対に他のヤツに言うなよ。
2017/07/27(木) 22:42:44.02ID:tCxrViSf
ツマンネ
250デフォルトの名無しさん
垢版 |
2017/07/27(木) 22:43:40.04ID:HCdXe105
何がどう危ないのかわかってないやつが、ふわっと危機感もってるだけだろ

↓これと同じこと
http://zip.2chan.net/6/res/3050541.htm
2017/07/27(木) 22:52:42.24ID:9W3wkZQm
>>222
JavaやC#の方が簡単だから。

というか常識的に考えて分かるだろ。
世界は一旦Cで統一された。
その後出てきた言語はCの駄目なところを改善している。
それだけ。
2017/07/27(木) 22:56:04.01ID:LWV2Yf86
ダンディ坂野は危険。sprintfの代わりにsnprintf使え。セキュアバージョン(_s)を使え。とか色々あるよな。
253デフォルトの名無しさん
垢版 |
2017/07/27(木) 23:06:09.60ID:wZCn8yX+
(σ・∀・)σゲッツ!!
2017/07/27(木) 23:13:00.42ID:LWV2Yf86
https://www.ipa.go.jp/security/awareness/vendor/programmingv1/b06_02.html
2017/07/27(木) 23:41:43.77ID:LWV2Yf86
標準文字列関数では安全に書けない、安全に書ける人がほとんど居ない。これ、完全にワナですから。
2017/07/27(木) 23:57:39.95ID:jhYwQkxC
バッファのサイズに収まるように普通書くだろ
そう書けない奴が悪い
257デフォルトの名無しさん
垢版 |
2017/07/28(金) 00:08:15.50ID:YMdBIxtz
>>256
それはその通りだけど、個人が責任を取れる問題じゃないし。
258デフォルトの名無しさん
垢版 |
2017/07/28(金) 00:14:30.22ID:QdICXo3Y
>>218
そうだった。Cだとエラーにならんな。C++だとエラー。
2017/07/28(金) 00:19:41.65ID:N/JNnipJ
文字列の連結だって安全にやろうとすれば、長さがわからない文字列にstrcatなんて使えないじゃん。
2017/07/28(金) 00:33:30.49ID:QdICXo3Y
てきとーに char s[1000]; とかやってどんどん strcat()
そして死亡
2017/07/28(金) 00:47:30.46ID:KKFlk4xh
Cでは適当な奴は死にます
2017/07/28(金) 02:06:17.70ID:zRJpQFXf
1ビットの変数同士を比較する場合
& ビット演算子
&& 論理演算子
どっち使った方がいいの?

---例---
input mem_ack, cpu_ack
wire mem_ack, cpu_ack




if (~(mem_ack & cpu_ack))
state <= 2
--------
2017/07/28(金) 02:08:50.20ID:uZDKFvFZ
>>261

逝きろ
264デフォルトの名無しさん
垢版 |
2017/07/28(金) 06:32:14.27ID:X5sNiV59
>>257
版権が会社にあるコードなら
もちろん会社の責任でテストするが
だから何?
2017/07/28(金) 06:51:58.94ID:jwLN5n78
>>247
ブーメラン過ぎる w
初期化リストの「作り方」の説明してみな
266デフォルトの名無しさん
垢版 |
2017/07/28(金) 10:25:49.30ID:X5sNiV59
おいVerilog使い、なぜここに来た?
2017/07/28(金) 10:43:31.58ID:KAkdfNJb
Cスレでは初期化リストは「書く」とか「記述」するものであって「作る」ものじゃ無いな
ツールやマクロで生成したり作ったりする事はあるが、そう言うまれな場合は「マクロで作る」と書くだろう
2017/07/28(金) 10:54:04.18ID:g6yGf319
>>262>>266
ホントだw
よく見たらC言語じゃなくてVerilogだなwww
2017/07/28(金) 11:13:16.53ID:WViVOgsq
>>267
じゃあ違うとすると、
C言語のリストって何だ?
って話
270デフォルトの名無しさん
垢版 |
2017/07/28(金) 12:35:43.09ID:WvgdGCet
>>269
だから、データ構造としてのリスト構造しかないでしょって話では?
以下ネバーエンディングストーリー
2017/07/28(金) 12:42:15.76ID:WViVOgsq
C言語と関係ない
2017/07/28(金) 13:28:06.90ID:KAkdfNJb
文法上でリストと呼ばれているものは初期化リストの他にもたくさんあるぞ
一々あげないが、パラメータリストとか
2017/07/28(金) 15:09:08.59ID:1Qvc81q6
va_listなら頑張れば作れる
2017/07/28(金) 16:20:09.34ID:WViVOgsq
>>272
で?
2017/07/28(金) 16:32:13.65ID:KAkdfNJb
ID:tCxrViSfが救いようの無いバカって事だよ
276デフォルトの名無しさん
垢版 |
2017/07/28(金) 18:33:35.00ID:2hIYBPjn
>>269
>>231
2017/07/28(金) 18:49:21.90ID:XBSdfIgC
連結リストを一から作れるってそんなにいないんじゃないかな
2017/07/28(金) 18:55:04.96ID:mbT3OJMo
1からの定義というか
0からではないんだよね?というか
まぁそのへんフワフワだけど

学校でプログラミング習ってるやつらは
一回はそれ「作らされてるから」
今でも作れって言われたら作れると思う
2017/07/28(金) 19:06:21.61ID:mbT3OJMo
あ、今の子はPascalとかCとか習わないのかな…
2017/07/28(金) 19:09:55.81ID:qWRZaL/E
>>272
で、それらの「作り方」について説明してくれるかな w
2017/07/28(金) 19:14:48.96ID:0EVBlpnp
脱初心者の登竜門の定番だね
自己参照構造体とポインタを理解していればそれほど難しくはない
2017/07/28(金) 19:17:50.96ID:LlfbS2K5
えちょっと待ってジェネリックなリストとかじゃなくて、doubleのリストとか、なんか自分で決めた型のリストとかだよね?
初心者向けのCの本で書いた記憶があるんだけど、最近は載ってないの?
283デフォルトの名無しさん
垢版 |
2017/07/28(金) 19:21:50.85ID:/bI4c4xS
苦CとやさしいCには載ってなかったな。
自分もCのアルゴリズム本でリストは覚えたし。
2017/07/28(金) 19:32:08.21ID:WViVOgsq
ジェネリックなリストとdoubleのリストって
ほとんど差が無いような
2017/07/28(金) 20:00:04.70ID:xox6mhpi
>>279
やらないよ
2017/07/28(金) 20:04:12.64ID:qWRZaL/E
>>277
struct List_t {
struct List_t *Previous;
struct List_t *Next;
double Data;
};
のDataの型変えるだけだし
まあいろんな型が必要だとテンプレートが欲しくなるけどマクロでもそこそこ行けるしね
2017/07/28(金) 20:06:39.62ID:+MWeEFjB
初心者に双方向はまずいですよ。
288デフォルトの名無しさん
垢版 |
2017/07/28(金) 20:06:46.98ID:SfCHZxYK
そこはテンプレートが遅くなる要因だから、性格の違いって事で。
2017/07/28(金) 20:12:26.13ID:xox6mhpi
>>286
普通,実用に供するのならば,void *Data だね
290デフォルトの名無しさん
垢版 |
2017/07/28(金) 20:21:38.71ID:SfCHZxYK
型検査引っ掛からなくなるんだから、実用なら必要な型でリスト作らんと怖いだろ。
元々かっちり作る用途向けで、そう言うのはどうしてもって時だけ。
2017/07/28(金) 20:24:27.39ID:WViVOgsq
>>287
片方向でも双方向でも大して変わらないと思うが
2017/07/28(金) 20:33:05.95ID:WViVOgsq
いずれにしろリストなんて簡単
setになると途端にレベルが上がる
それこそ、
使えても作れない人は多い
2017/07/28(金) 20:50:39.02ID:KAkdfNJb
>>280
バーカ、それらは「記述」するもので、「作る」ものじゃねーと言ってるだろ

わかんねーのか死ねバカ
2017/07/28(金) 21:02:23.86ID:wndodTEE
>>289
何でそんな面倒なことをするんだ?
2017/07/28(金) 21:04:55.04ID:wndodTEE
だからその他のリストをわざわざあげる>>272がバカって話なんだが w
2017/07/28(金) 21:05:03.15ID:Mk6h7bQQ
つかリストもSetもCでは大して使わないだろ。
297デフォルトの名無しさん
垢版 |
2017/07/28(金) 21:12:41.92ID:SfCHZxYK
LL用のライブラリCで書いたりとかで普通に書くだろが。
2017/07/28(金) 21:21:31.63ID:Mk6h7bQQ
ならLLで全部やれ。
Cでやるのなら主に高速化なのだから、高速に演算できるようにあらかじめLL言語側で並べ替えるだろ。
299デフォルトの名無しさん
垢版 |
2017/07/28(金) 21:26:15.12ID:SfCHZxYK
リストで並べ替え?
そもそも、その並べ替えも遅いからCで。。。
どこから突っ込んで良いのよ。。。
2017/07/28(金) 21:27:04.09ID:wtp1eGJk
LLって初耳だわ。
301デフォルトの名無しさん
垢版 |
2017/07/28(金) 21:32:03.07ID:SfCHZxYK
LightwaitLanguageの略で、PythonとかRubyとかの総称。
趣味グラマ含めて、LL知らない奴に初めて会ったわ。
2017/07/28(金) 21:35:30.75ID:wtp1eGJk
つまりCはHLなわけだな。Heavyな時代になったな。
2017/07/28(金) 21:43:29.87ID:0EVBlpnp
データ間の関係が直線構造のリストはこれといった使いどころを見つけるのが難しいのはまあ分かる
階層構造のバイナリツリーや網目構造のグラフにまで拡張するといろいろ応用範囲が広がる
2017/07/28(金) 22:00:00.22ID:wndodTEE
>>298
バカとしか言いようがない w
2017/07/28(金) 22:02:34.71ID:wndodTEE
>>301
weight な
2017/07/28(金) 22:09:25.05ID:wtp1eGJk
おれの感覚がズレてるのかと思ったら、英語のwikipはそのままの意味だな。
LL言ってのは日本だけだという。こんなのバズワードでいいよ。

> A lightweight programming language is one that is designed to have very small memory footprint,
> is easy to implement (important when porting a language), and/or has minimalist syntax and features.
2017/07/28(金) 22:12:46.77ID:e9WYMOex
俺もLL通じるけどなw
2017/07/28(金) 22:18:36.85ID:Mk6h7bQQ
>>299
エアプ死ね。

> そもそも、その並べ替えも遅いからCで。。。
LL言語側のリスト等の物理配置は公開されてないんだから、これは無理だろ。
仮に公開するにしても当然アクセス用API関数であって、内部構造は隠蔽されるだろ。
2017/07/28(金) 22:23:43.64ID:wndodTEE
ここは日本なのに海外wikipedia持ってくるとか相当ずれてると思う
2017/07/28(金) 22:28:08.90ID:wndodTEE
>>308
恥の上塗りかよ w
たいていのLL言語はオープンソースでCとかとのインターフェースが整備されてたり内部構造のドキュメントあるぞ
でないとライブラリとか書けないし
とりあえずpythonの例な
https://docs.python.jp/3/extending/extending.html
2017/07/28(金) 22:53:05.56ID:Mk6h7bQQ
>>310
> 拡張モジュールをサポートするため、Python API (Application Programmer’s Interface) では
> 一連の関数、マクロおよび変数を提供していて、
> Python ランタイムシステムのほとんどの側面へのアクセス手段を提供しています。
> Python API は、ヘッダ "Python.h" をインクルードして C ソースに取り込みます。
お前は日本語が読めないということが分かった。

それで、お前はいつ>>286みたいな記述が必要なんだ?
普通はPyxxxを使ってPython側から読み出して、
C側の演算高速化用フォーマット(通常はただの配列)に最初から変換するんだよ。
お前はC側でもリストを実装してPythonと同じ事をするアホのようだが。
2017/07/28(金) 22:57:00.44ID:DfUcDVfp
またパイソンの話してんのか
2017/07/28(金) 22:59:57.49ID:wtp1eGJk
>>309
本気で言ってるのか?日本語ドキュメントなんて限られてるから技術者はググるときは英語だろう。
しかもwikipの日本語のIT用語の項目なんてほとんどないぞ。日本はIT後進国だから。中国語のほうが充実してる。
その中にあってLLだけば日本語版だけが異常に充実してるという。
まぁ、日本語でググったけどLL言ってるのはWEB2.0、クラウド、AI言ってる輩だね。
C言語使わない、使えない輩だからおれには接点はないわ。どっちがズレてるかよく考えてほしいね。
2017/07/28(金) 23:05:09.92ID:wndodTEE
とりあえずお前は「無知でごめんなさい」から始めようか w
> LL言語側のリスト等の物理配置は公開されてないんだから、これは無理だろ。
> 仮に公開するにしても当然アクセス用API関数であって、内部構造は隠蔽されるだろ
2017/07/28(金) 23:07:08.97ID:kYloII+J
>>313
面倒な奴
よほど恥ずかしかったんだろうな
2017/07/28(金) 23:11:29.26ID:Mk6h7bQQ
>>314
> 仮に公開するにしても当然アクセス用API関数であって、内部構造は隠蔽されるだろ
お前マジで日本語読めないのな。Python.hってまさにこれなんだが。
日本語読めない奴と議論するのは無理だからもう諦めるが。

>>313
LLって海外でも普通に通じるよ。
2017/07/28(金) 23:13:42.45ID:kYloII+J
>>316
隠蔽の意味も理解してない奴に言われてもなぁ w
2017/07/28(金) 23:16:01.92ID:d5LZ2kks
スレチ
2017/07/28(金) 23:20:19.95ID:wtp1eGJk
>>315
そうなんだよ。聞いてくれよ。怒り心頭だよ。
日本語のwikipのLLの内容はマジで恥ずかしい。こんなアホ議論してるのは世界で日本だけ。

> この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。
> この節には独自研究が含まれているおそれがあります。
> 日本独自の用語・分類への批判
> 比較対象がないことへの批判
> 誤解を招く用語であるという批判

なんだこれ。こんな完全なバズワードを偉そうにLLすら知らないのかって言われたんだよ。

こんな用語使ってる輩の脳がLightWeightなのに。
2017/07/28(金) 23:26:08.74ID:Mk6h7bQQ
まあ俺が突っ込みたかったのは、

> 連結リストを一から作れるってそんなにいないんじゃないかな (>>277)
これはLL言語(=習得が簡単な言語=馬鹿用言語)ならそうだが、
Cなら作れない奴は殺される。ただしそれ以前に、

> 苦CとやさしいCには載ってなかったな。 (>>283)
のように、そもそもCではリストを使う機会はあまり無い。
だから載ってないのも妥当。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況