C言語なら俺に聞け 153

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 5fba-LL4R)
垢版 |
2019/08/17(土) 23:02:42.00ID:tN5mSQYg0
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/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
※前スレ
C言語なら俺に聞け 152
https://mevius.5ch.net/test/read.cgi/tech/1560763630/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
329デフォルトの名無しさん (アウウィフ FF45-/Df3)
垢版 |
2019/11/20(水) 16:54:14.17ID:ACUpjjQJF
>>327
>>314 func(p[][])
似たようなもんだな
2019/11/20(水) 17:02:30.65ID:CxWhIUNe0
>>328
一応言っておくけど>>322の通り変数のxは意味が違う
関数の引数の場合だけ状況が変わる
*p[]と*ppが同義なのは引数の場合だけ
>>319の通りプロトタイプ宣言と関数定義の両方で混在しても問題ない
2019/11/20(水) 17:03:37.18ID:CxWhIUNe0
訂正
**p ← *pp
332デフォルトの名無しさん (アウアウウー Sa45-nhir)
垢版 |
2019/11/20(水) 17:18:03.94ID:gQNT2Wxfa
>>324
いや。AとBは違う。
333デフォルトの名無しさん (アウウィフ FF45-/Df3)
垢版 |
2019/11/20(水) 17:19:03.29ID:ACUpjjQJF
>>330
>>319 の言ってるのは >>322 のとは違うだろ

これは正しい
>プロトタイプ宣言 void func(char *p[]);
>関数定義 void func(char **p) {}

これは間違い
>プロトタイプ宣言 void func(char p[][20]);
>関数定義 void func(char **p) {}
334デフォルトの名無しさん (アウアウウー Sa45-nhir)
垢版 |
2019/11/20(水) 17:36:55.77ID:gQNT2Wxfa
その通り
2019/11/20(水) 17:38:35.24ID:CxWhIUNe0
納得
そりゃそーだ
すまんかった
336デフォルトの名無しさん (アウアウクー MMd1-+hLn)
垢版 |
2019/11/20(水) 18:37:56.75ID:lnMf/X4/M
初めて書き込む初心者ですが
配列存在そのものがポインタと違う
という話と
ポインタとして渡して同じように扱える
という話の食い違いをしてるのですか?
337デフォルトの名無しさん (アウウィフ FF45-/Df3)
垢版 |
2019/11/20(水) 19:19:34.26ID:ACUpjjQJF
ポインタの配列はポインタのポインタとして扱えるが
配列へのポインタはポインタのポインタとして扱ってはいけないって話
そりゃ無理に使おうとすれば使えない訳じゃないが止めた方が良い
2019/11/20(水) 19:45:26.72ID:/a5mIgHWd
char a[2][2];
これは a[0][0], a[0][1], a[1][0], a[1][1] の順にcharが4個ならんだデータ

char *b[2] = {a[0], a[1]};
という配列をaとは別に作ってはじめて
char **として扱える
2019/11/20(水) 19:47:17.62ID:/a5mIgHWd
aは(中身は)4このデータの先頭アドレスで
bはアドレスの配列の先頭アドレス

データが異なるので無理やりキャストしてもダメ
340デフォルトの名無しさん (アウアウウー Sa45-nhir)
垢版 |
2019/11/20(水) 20:34:14.51ID:gQNT2Wxfa
そしてまたポインタ解説本が一冊増えるのであった
2019/11/20(水) 21:23:45.88ID:QqNmmDM2x
>>320
何だそうか、親切にありがとう!
2019/11/25(月) 13:03:01.01ID:pSQ/T/wR0
私はC言語の神だ
何か私に聞きたいことはあるか?
343デフォルトの名無しさん (ワイーワ2 FF63-KqLj)
垢版 |
2019/11/25(月) 13:13:12.61ID:pjJuONFZF
余命何年かな
2019/11/25(月) 13:18:38.97ID:pSQ/T/wR0
余命は3152578641だ
2019/11/25(月) 13:20:19.58ID:FcoOoav6d
なんで & より == の方が強い?
なんで func と &func 両方とも関数へのポインタ
なんで char の符号有無を規定しなかった?
2019/11/25(月) 13:22:22.93ID:pSQ/T/wR0
プログラマーは万能である
で、あれば、それらは些細なことだ
2019/11/25(月) 14:10:49.09ID:ZBE9lLbs0
>>345
===は比較演算子で、&はビット演算子(扱いは算術演算子と大差ない)だから。
funcと&funcが同じなのは単なるシンタックスシュガー。 配列のそれと変わらん。
charは符号もへったくれも無かったため。 最上位がパリティなことも多かったし。
348デフォルトの名無しさん (ワイーワ2 FF63-KqLj)
垢版 |
2019/11/25(月) 14:13:37.69ID:pjJuONFZF
char hoge[10][10];
があったとして
hoge と &hoge[0][0] が一緒なのは判るが
&hoge とか hoge[0][0] は一緒じゃない
2019/11/25(月) 14:40:15.02ID:xlCLCIdV0
算術演算子と大差無いと言うならなおさら優先順位が逆転するのは不思議
つうか神様への質問なんだからなんでそういう仕様になったかを答えてほしんでしょ
2019/11/25(月) 15:00:15.21ID:Nb9YSlRod
>>347
===って、Bにあったやつか?
等値比較代入
2019/11/25(月) 15:08:44.39ID:PWp9fS7h0
比較演算子が最下位ならすっきりする
 a + 1 == 2 → (a + 1) == 2 の順と同じく
 a & 1 == 2 → (a & 1) == 2 や
 a % 2 == 1 → (a % 2) == 1 であってほしい
2019/11/25(月) 16:42:52.23ID:Z7hJDN/t0
わたしゃ神様じゃないけど、カーニハンとパイクの『プログラミング作法』には
「カッコを使って演算子の優先順位の曖昧さを避けよう」みたいな項があるね。
もちろん規格では厳格に決まってるけど、使用者の記憶があやふやって話。

あの辺を読むと「ビット演算子より比較演算子を優先したのは誤りだったかも」と
ご当人が思ってたんじゃないかと感じるわ。
2019/11/25(月) 16:46:33.35ID:72Xydbv80
今更いじれないだろうな
2019/11/25(月) 18:07:03.06ID:FcoOoav6d
神様の回答が1個も無い
2019/11/25(月) 19:12:09.16ID:2aQAGKkK0
>>342
K&R1 から K&2 への相違で強烈に疑問を持っているのが
引数に配列をとったときは、配列の先頭のポインタが渡るのに、引数に構造体をおいたときは、構造体の実体がコピーされて渡されるのはなぜ?
馬鹿が
struct A {
int a[1234567890];
};
とかやったときには、これが関数の引数に乗ったときには、正気でコピーする気なのですか?
2019/11/25(月) 19:22:13.99ID:Nb9YSlRod
ん? 構造体が左辺値変形されるなんてことあったか?
2019/11/25(月) 19:27:41.70ID:Z7hJDN/t0
2点ほど訂正させてくれ。

カーニハン先生はC言語に大きな貢献をしてるけど、C言語の設計は
リッチーさんの仕事でカーニハンさんは手を出してないんだね。
だからこの場合「ご当人」と呼ぶのは正しくなかった。
「ビット演算子より比較演算子を優先するとは、デニスの野郎め
下手コキやがって」と思ってるんじゃないかと感じるわ。
…という具合に訂正。

もうひとつ。カーニハン先生は今の時点で健在らしい。
実は先の投稿の時点で亡くなってると勘違いしていた。
これもリッチーさんと混同したのが原因。
2019/11/25(月) 19:39:14.82ID:2aQAGKkK0
>>342
extern はいらない子!じゃないのですか?extern の必要性はなんですか?
2019/11/25(月) 19:42:04.68ID:2aQAGKkK0
>>342
可変長引数のプロモーション(格上げ)が理解できない
なぜ float は double に、char, short, は int に格上げされるのか?
2019/11/25(月) 20:03:51.13ID:EmSI22f6H
>>355
構造体のポインタを渡すとして、仮引数はどう宣言するよ
2019/11/25(月) 20:05:24.40ID:Nb9YSlRod
>>358
いらない子はtentativeなんだが
tentativeはtentativeの存在すら認識できない
知恵遅れのための必要悪だ
おまえのためだったとして
本当のいらない子は誰だろうね
2019/11/25(月) 20:19:59.47ID:2aQAGKkK0
>>360
関数の引数には、構造体のポインタではなくて、構造体そのものを渡します、構造体そのものを渡せるようになったのは K&R2 から可能になりました
C の神 >>342 に、この改変―個人的には改悪について、一度お聞きしたいと思っていたんです
2019/11/25(月) 20:24:34.17ID:2eomwteL0
なぜ神への質問を神でないものが回答するのか
神にでもなったつもりか!
364デフォルトの名無しさん (ワッチョイ fb8c-qZD/)
垢版 |
2019/11/25(月) 20:35:27.76ID:NzDv81TY0
ヘッダファイルには何を書きますか?
こめおしだるまとかですか
2019/11/25(月) 21:22:14.50ID:HEHU1BiX0
charは文字だから符号は重要じゃないってのはいいが、ならbyte型用意しておいてくれよと思う。
2019/11/25(月) 21:34:03.78ID:Qwn/HBF30
signed charもunsigned charもあるだろ
2019/11/25(月) 21:47:48.61ID:FcoOoav6d
signed charもunsigned charもcharもあるのが糞
2019/11/25(月) 21:50:36.94ID:wftjKJqc0
char = unsigned char に固定してくれりゃ万事楽だったのに
2019/11/25(月) 21:53:07.11ID:u+UfcqYe0
「8ビットめいっぱい使う奴(国)が面倒おこしてめんどくせぇ」
2019/11/25(月) 21:56:46.03ID:72Xydbv80
文字割り当てで最初から8bit全桁使ってしまっていれば良かった
2019/11/25(月) 22:06:54.47ID:HEHU1BiX0
8bit整数はsigned/unsigned charでいいやと思っていたらC++で裏切られた。
2019/11/25(月) 22:07:47.81ID:y1DwbhRd0
テキハ ホンノウジニ アリ
2019/11/25(月) 22:11:35.20ID:u+UfcqYe0
2バイト(16ビット)もあれば、各国のが収まるだろ? →ダメでした
2019/11/26(火) 00:36:17.99ID:TKGz3ntv0
なんでstaticにこんなにたくさんの意味をもたせた?
引数のconstが絶望的にわかりにくいんだが何でこんな文法にした?
375デフォルトの名無しさん (ワッチョイ 13ad-c8oy)
垢版 |
2019/11/26(火) 04:17:51.19ID:q8waUqPK0
これからの時代のcharは64bitで
2019/11/26(火) 07:18:47.84ID:auNO4ARld
>>374
const? 何がそんなに?
2019/11/26(火) 12:44:02.82ID:HcEoAWHl0
>>376
もっとくやしく
2019/11/26(火) 13:07:39.43ID:njyF587zd
const char * *
char * const *
char * * const

たしかに分かりにくい

volatileも
2019/11/26(火) 13:08:45.16ID:GOgRvMiLM
>>377
くそ、何がだよ。constの何がそんなにわかりにくいんだよっ!ちくしょうっ!!
2019/11/26(火) 15:05:20.59ID:auNO4ARld
なんだ、バカよけってことかよ
つまんね
381デフォルトの名無しさん (アウアウウー Sa9d-Pqlv)
垢版 |
2019/11/26(火) 18:23:04.66ID:UD9MC/mBa
>>377
キーッ
2019/11/26(火) 19:05:11.84ID:auNO4ARld
サル?
383デフォルトの名無しさん (アウアウウー Sa9d-Pqlv)
垢版 |
2019/11/26(火) 20:29:20.89ID:UD9MC/mBa
もっとはんなりと言ってください
2019/11/26(火) 21:26:44.95ID:IcZXgcFp0
モンキーですこと
2019/11/26(火) 22:25:58.87ID:FP/g45Qv0
これからはRISC-V
386デフォルトの名無しさん (ワッチョイ 13ad-c8oy)
垢版 |
2019/11/27(水) 00:28:00.77ID:0YyUhowx0
constどすえ
387デフォルトの名無しさん (ワッチョイ 9202-KPDH)
垢版 |
2019/11/28(木) 01:13:55.51ID:omfIxgsG0
void君いる?
2019/11/28(木) 01:37:02.70ID:XlAtYd3v0
voidならsp使わないという利点があるんだからいるのでは?
2019/11/28(木) 01:38:47.97ID:PoPpbfsh0
spとは?
2019/11/28(木) 03:19:24.36ID:saOZYqHd0
 ヘ_ヘ
ミ・・ ミ
(   )〜
391デフォルトの名無しさん (ワッチョイ 9202-KPDH)
垢版 |
2019/11/28(木) 09:18:13.24ID:omfIxgsG0
void君見てんだろ?
またあの名言聞きたいよ

てかspて何だ?
2019/11/28(木) 09:58:09.40ID:drahqBh90
おじいちゃん、おはよう
2019/11/28(木) 11:52:01.48ID:dwMkkEn2M
何の話しをしているのですか?
2019/11/28(木) 12:29:57.76ID:4okpNGfUM
話しとは?

 ヘ_ヘ
ミ・・ ミ
(   )〜
395デフォルトの名無しさん (アウアウウー Sacd-8Irb)
垢版 |
2019/11/28(木) 12:49:27.76ID:pgFu+V4ea
はなしししししし
2019/11/28(木) 13:08:00.18ID:HUd7Y1FLd
void君て何?
2019/11/28(木) 14:14:09.56ID:cHXg4S3V0
fj.comp.lang.c japan.yoso 何年前…
398デフォルトの名無しさん (アウアウウー Sacd-8Irb)
垢版 |
2019/11/28(木) 17:13:55.23ID:pgFu+V4ea
(´-`).。oO(今の人は newsgroup なんて知らないんだろうなあ・・・)
2019/11/28(木) 17:34:29.53ID:drahqBh90
公園で紙芝居をやってた頃の話だから
2019/11/28(木) 17:56:05.01ID:7otTe0SQ0
スタックポインタ
2019/11/28(木) 18:13:00.42ID:PoPpbfsh0
voidならスタックポインタを使わない?
意味不明
2019/11/28(木) 18:17:12.36ID:tnSWQjUnd
俺もわからん。
403デフォルトの名無しさん (ワッチョイ 1902-UMS6)
垢版 |
2019/11/28(木) 18:46:29.37ID:+WcD/xQQ0
C++やるで
2019/11/28(木) 18:47:49.35ID:EjjwcG+D0
いってらっしゃいませ
405デフォルトの名無しさん (ワッチョイ 1902-UMS6)
垢版 |
2019/11/28(木) 19:29:09.73ID:+WcD/xQQ0
C++あかんの?
2019/11/28(木) 19:42:31.72ID:YpOyjZW5d
何十年経ってもマウント取られたままなやつは
成長する意欲すら根こそぎ取られたただの産廃
唾棄するにも値しない
2019/11/28(木) 20:01:16.22ID:7otTe0SQ0
マウント富士、待ったか、産め。
408デフォルトの名無しさん (アウウィフ FFcd-Qbqw)
垢版 |
2019/11/29(金) 10:41:44.97ID:N/f9f1S7F
つかき君いるのかな
2019/11/29(金) 12:49:35.50ID:gmGtMFq3d
◯◯君が多過ぎて
だれかまとめろ
410デフォルトの名無しさん (ワッチョイ 5ef2-zAiV)
垢版 |
2019/11/29(金) 17:04:48.86ID:F/drosec0
>>407
某ゲームで、ボスバトルまでの待ち時間が結構ありまして、そのちょっと前のタイミングを知るのに
ストップウォッチ兼タイマー ver 0.1 を愛用しております。 自分で作ってもよかったのですが
蟻さんので必要十分だったのでありがたく使わせてもらっています。
ありがとうございました!
2019/11/29(金) 17:51:10.95ID:qKvWOrt2d
>>410
どういたしまして
2019/11/29(金) 19:33:21.96ID:qKvWOrt2d
ソースコード見たい?
2019/11/29(金) 19:39:20.32ID:l2dO7tMx0
https://github.com/katahiromz/mztimer
はいどうぞ。
2019/11/29(金) 19:41:30.08ID:l2dO7tMx0
昔の汚いソースだね。グローバル変数使いまくり。
2019/11/29(金) 19:44:15.31ID:w9Gg68xu0
パンツの中見せるの?
2019/11/29(金) 19:58:16.23ID:4DEcYZGM0
inline
が泣けるwww
2019/11/29(金) 20:52:16.59ID:Lw6oDHHK0
>>413
TDM-GCCだとコンパイルできなかった
2019/11/29(金) 20:54:12.58ID:qKvWOrt2d
>>417
リソースがsjisだからUTF-8にして、コードページにちょっとしたトリックをするとビルドできるよ。
2019/11/29(金) 21:40:56.87ID:l2dO7tMx0
改良しました。
2019/11/29(金) 21:48:18.65ID:Lw6oDHHK0
CMakeになっとるやんけ
2019/11/29(金) 23:02:39.40ID:Lw6oDHHK0
>>419
蟻人間さんプルリク送っておいたからマージしてね
2019/11/29(金) 23:06:54.55ID:Lw6oDHHK0
プルリク拒否られた・・・
423デフォルトの名無しさん (ササクッテロ Sp79-YC6P)
垢版 |
2019/12/01(日) 19:27:28.70ID:QQlcLgdJp
大学の課題でフーリエ変換を利用した画像保存プログラムを作成せよっていう
課題が出ました…

もうお手上げです。助けてください
2019/12/01(日) 19:32:56.92ID:mRJ420VP0
>>423
宿題の文章を一文字も間違えずに正確に転載できる技術を持っているのなら
https://mevius.5ch.net/test/read.cgi/tech/1434079972/
で話の続きを聞く準備はあります、その出題自体はどこか変だとは思っていますが
2019/12/01(日) 19:35:57.20ID:p3Z7Nr0hd
>>423
画像の圧縮?
426デフォルトの名無しさん (ササクッテロ Sp79-YC6P)
垢版 |
2019/12/01(日) 19:37:50.36ID:QQlcLgdJp
>>424
>>425
そうです。
実際に本気で組んだら何行くらいになるんでしょうか?
それだけでも目安を教えてほしいです。

例えば
木の絵をピクチャーボックスに描きました。
フーリエ保存してファイルを作成します。
ファイルを再現できました。
同じ絵です。
成功です。

こんな感じです。
2019/12/01(日) 19:38:04.98ID:ManO1ilk0
大学名を教えてくれたらヒントくらいは出す
2019/12/01(日) 19:53:08.67ID:W5IIwakz0
元の画像に戻ったら成功って事はフーリエ変換と逆変換かな?
フーリエ変換は外部ライブラリ使ってok?
okならOpenCV使えば良いんじゃね?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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