X



C言語なら俺に聞け 142 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 8a6f-bDrV)
垢版 |
2017/08/10(木) 20:21:23.44ID:hEocmkh50
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/1500293207/
http://www.geocities.jp/c_cpp_cs/about_c/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0006デフォルトの名無しさん (ワッチョイ 3323-hZ6b)
垢版 |
2017/08/11(金) 03:16:23.49ID:suC9gTdR0
0007デフォルトの名無しさん (ワッチョイ 0e1c-Jp9e)
垢版 |
2017/08/11(金) 08:28:05.03ID:8TW1by1n0
>>2
煽りコントで笑いをとってたコメディアンのこと?
0010デフォルトの名無しさん (ワッチョイ 0e1c-Jp9e)
垢版 |
2017/08/11(金) 12:14:58.92ID:8TW1by1n0
ハード・ソフト両利きになるには絶好の近道
0012デフォルトの名無しさん (ワッチョイ 3323-aEKd)
垢版 |
2017/08/12(土) 16:57:37.18ID:6AXlD0eu0
>>8
それはあなたが今後何をやりたいかによる。
0014デフォルトの名無しさん (ワッチョイ 0e1c-Jp9e)
垢版 |
2017/08/13(日) 16:07:14.55ID:2GAXDCvV0
そういう意味では、あと英語な
マニュアルや規格票といえばまず英語
日本語版はないか、あっても10年遅れとか
そればかりか自分のコードのマニュアルやコメントも
英語で書けとだいたい言われる
0015デフォルトの名無しさん (ワッチョイ 3323-aEKd)
垢版 |
2017/08/13(日) 17:01:50.43ID:aXXBQeA80
え?そんな所あるの?外資系とか?

まあ最初から英語できることを前提に雇っているならわかるけど、そうでない会社で
それやったらネイティブが忍耐をもってしても解読困難な英語モドキの文書の山に
なってしまうのではないか?
0016デフォルトの名無しさん (ワッチョイ 0e1c-Jp9e)
垢版 |
2017/08/13(日) 17:33:10.24ID:2GAXDCvV0
解読困難な英語モドキすっげええ、うんざりするほどあるよ
ずーずー弁しぇからしかこんだらず、なんて次元じゃねえ訛り方
・・・まあ恥ずかしながら日本人の訛り方はトップグループなんだが
0019デフォルトの名無しさん (ワッチョイ 0e1c-Jp9e)
垢版 |
2017/08/13(日) 18:29:50.42ID:2GAXDCvV0
技術英語を憶えるのに一般英語は邪魔
技術英語独特のボキャ貧はマニュアルや論文でしか学べない
0021デフォルトの名無しさん (ワッチョイ ba89-MZKP)
垢版 |
2017/08/13(日) 18:39:03.83ID:o1ygPh5l0
>>18
自分がある程度詳しい分野のちゃんとした英語のドキュメントを読んでると、ここはこういう意味か、こんな時はこんな表現するのか、と言うのがある程度身についてくると思う。
0022デフォルトの名無しさん (ワッチョイ 0e1c-Jp9e)
垢版 |
2017/08/13(日) 18:54:33.40ID:2GAXDCvV0
>>20
0030デフォルトの名無しさん (ワッチョイ 0e1c-Jp9e)
垢版 |
2017/08/16(水) 11:07:32.90ID:J2krMHFz0
エディタで充分
IDEいらね
0031デフォルトの名無しさん (ガックシ 06b6-C9Js)
垢版 |
2017/08/16(水) 11:12:04.39ID:79/XacN36
Cの文法だけ知りたいんならIDEで身につくと思うけど、CのUNIX的な使い方とかMakefileの作り方まで含むならやっぱりターミナルでVimかEmacsが一番身につくと思うな
0034デフォルトの名無しさん (ワッチョイ 0e1c-Jp9e)
垢版 |
2017/08/16(水) 12:30:21.85ID:J2krMHFz0
IDEであろうがなかろうが
複数の環境を使ったほうがいい
1つの環境だけ使っていると
間違った知識をたっぷり吹き込まれる
その環境が悪いわけじゃなく
Cには処理系定義だの未規定だのがたくさんあるからだ
0036デフォルトの名無しさん (ワッチョイ 0e1c-Jp9e)
垢版 |
2017/08/16(水) 17:14:38.09ID:J2krMHFz0
関数を呼び出すたびごとにいちいちGETMAINするのかと思ったら違った
0038デフォルトの名無しさん (ワッチョイ 0e1c-Jp9e)
垢版 |
2017/08/16(水) 21:24:11.17ID:J2krMHFz0
カード穿孔機くらいかな
トライグラフの必要性を感じたデバイスは
0048デフォルトの名無しさん (ワッチョイ 110d-JJVS)
垢版 |
2017/08/17(木) 10:55:11.53ID:NamoDwZf0
>>47
最近のコンパイラはデフォでトライグラフを抑制してくれてるようだけど
古いコンパイラは、そんな気がきいてないから

警告文 "warning??!" ってやって実際の出力が warning| で なんじゃこりゃ?と
0054デフォルトの名無しさん (エーイモ SEf3-Ufa9)
垢版 |
2017/08/17(木) 21:30:33.60ID:2RZZpZadE
char s[3] = "abc";
printf("%s %lu", s, strlen(s));

これの出力がabc 3にならず
abc 9abc 9とか
abcea 9abcea 9みたいに毎回不定で文字列が出力されるんですけど何でですか?
0061デフォルトの名無しさん (ブーイモ MMc5-gUFl)
垢版 |
2017/08/18(金) 03:59:52.12ID:URLOh4DLM
キャスト毛嫌いしてたんだけど、size_t や int*_t シリーズを printf 書式で使う時のベストプラクティスだと気付いてしまったよ。
0068デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/18(金) 09:48:31.67ID:+zi/zXZ30
>>65
問題大ありだよ
64bit 環境では、sizeof sizeof 1 == 8 だぞ
0069デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/18(金) 10:03:06.56ID:+zi/zXZ30
脇道に逸れるが整数のサイズってどいつもこいつもイマイチだね
char 8
short 16
int 32
long 64
long long 128
と、せっかく5階級あるのを無駄なく使えるようになってない
0071デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/18(金) 11:55:29.20ID:+zi/zXZ30
いや、そういう環境があったらなあと
0073デフォルトの名無しさん (ワッチョイ 4b6c-oL0b)
垢版 |
2017/08/18(金) 12:46:10.63ID:K+PXWISB0
Makefileの書き方なんだけど

makeが実行されているときに 今何を実行してるか表示されるけど
「なんでこれが実行されているんか」の理由も表示したい
依存関係の hoge: fuga を表示したい


.c.o:
@echo $@:$^
$(CC) $(CFLAGS) -c $<
みたいに書いたりしてんだけど、全部に書くのもダサい気がするし
良い方法はないでしょうか
0074デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/18(金) 15:25:50.71ID:+zi/zXZ30
>>72
128が標準にあれば使い途いろいろあるぞ
0083デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/18(金) 23:11:42.85ID:+zi/zXZ30
違う! 前置だ
b = (a = a + 1);
0085デフォルトの名無しさん (ワッチョイ db6f-2g+Y)
垢版 |
2017/08/18(金) 23:57:54.41ID:nSj4GkNd0
>>78
>前置インクリメントa++
>後置インクリメント++a

考え方が逆
変数を基準に考えるのではなく演算子を基準に考える
前置インクリメント++a : 演算子を’前’置した場合、変数(式)の評価’前’に演算子が適用される
後置インクリメントa++ : 演算子を’後’置した場合、変数(式)の評価’後’に演算子が適用される
0087デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/19(土) 09:44:47.22ID:CpINIl4e0
i = i + 1;
の、iの変更と最後のiの評価の間の順序性は?
0088C言語ますたー《ますたー軍団(常時募集)の長》 ◆oa6k//3vOQ (ラクッペ MMed-UZV0)
垢版 |
2017/08/19(土) 09:54:20.36ID:6ANTyB1VM
>>87
i+1のiは変更前のiでしょ
0091デフォルトの名無しさん (ワッチョイ f932-Jcyw)
垢版 |
2017/08/19(土) 11:26:43.49ID:0xgPi4RO0
>>87
6.5.16 Assignment operators
「The side effect of updating the stored value of the left operand is sequenced after the value computations of the left and right operands. The evaluations of the operands are unsequenced.」
左オペランドの変更は、左右オペランドの評価の後
0093デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/19(土) 15:28:05.17ID:CpINIl4e0
>>91
thx
だよな、そこは断り書きが必要な箇所
0098デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/20(日) 09:25:38.38ID:sGdhnhOm0
事実上どうなっているという話ではなく
理屈の上でどうなのかという話
ちゃんと断り書きがあったからめでたしだが
そうでなかったら大変だった
0100デフォルトの名無しさん (ワッチョイ 096f-jLVh)
垢版 |
2017/08/22(火) 11:22:32.57ID:chgkyZKA0
defineした定数を文字列定数にいれるにはどうしたらいいの?

#define EOL 0x0d

const char version_message[] = "Version 1.0\x0d"

↑この文字列の改行コードに定数EOLを展開した値を入れたいです。
■ このスレッドは過去ログ倉庫に格納されています

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