↑
次スレを作る時は上記1行をコピーして2行に増やして必ず1行目に入るようにしてください。
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/
※前スレ
C言語なら俺に聞け 149
https://mevius.5ch.net/test/read.cgi/tech/1540731704/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
C言語なら俺に聞け 150
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウクー MM57-IE4z)
2019/02/06(水) 13:39:03.21ID:c4bnQMl3M2デフォルトの名無しさん (アウアウクー MMb3-IE4z)
2019/02/06(水) 13:43:35.56ID:c4bnQMl3M ミスってる
!extend:checked:vvvvv:1000:512
を書き込み内容にするためにもう一行書かなければならないのね
!extend:checked:vvvvv:1000:512
を書き込み内容にするためにもう一行書かなければならないのね
3デフォルトの名無しさん (ワッチョイ df52-5rgS)
2019/02/06(水) 13:53:52.35ID:bwpbLxE30 そうしろって書いてあるじゃん
4デフォルトの名無しさん (ワッチョイ 7fa5-se+6)
2019/02/06(水) 14:08:04.08ID:6cW+g5Qj0 違うな
シェバンに類似する特殊な一行目は書き込みすると失われる、だろ
だから次の手順説明のために同じものをもう一行増やす
しかも「必ず1行目に入るように」って書いてあるから二行に増やしても先頭に空白行があると受理されないハズだ
もう一行書くだけじゃダメだからな
シェバンに類似する特殊な一行目は書き込みすると失われる、だろ
だから次の手順説明のために同じものをもう一行増やす
しかも「必ず1行目に入るように」って書いてあるから二行に増やしても先頭に空白行があると受理されないハズだ
もう一行書くだけじゃダメだからな
5デフォルトの名無しさん (ワッチョイ ff63-S1Ul)
2019/02/06(水) 14:19:35.82ID:NIgQMFwf0 >>1 乙です、ドンマイ
6デフォルトの名無しさん (ワッチョイ ffab-vS77)
2019/02/06(水) 16:08:05.73ID:1SbGZlcV0 では、続きをしようか
986 名前:デフォルトの名無しさん (ワッチョイ df01-vS77)[sage] 投稿日:2019/02/06(水) 04:57:27.49 ID:eUM592Vs0
ループから抜けるときに goto使ったらダメなんですか?
for (...) {
for (...) {
if (...) goto LOOP_EXIT;
}
}
LOOP_EXIT:
こういう感じで書いたら先輩に怒られました。
フラグ見てループ抜けるように修正しろと。
指示されたので従いますけど、どうしてダメなのかよく分かりません。
どなたか納得するような理由をご存知でしょうか?
986 名前:デフォルトの名無しさん (ワッチョイ df01-vS77)[sage] 投稿日:2019/02/06(水) 04:57:27.49 ID:eUM592Vs0
ループから抜けるときに goto使ったらダメなんですか?
for (...) {
for (...) {
if (...) goto LOOP_EXIT;
}
}
LOOP_EXIT:
こういう感じで書いたら先輩に怒られました。
フラグ見てループ抜けるように修正しろと。
指示されたので従いますけど、どうしてダメなのかよく分かりません。
どなたか納得するような理由をご存知でしょうか?
7デフォルトの名無しさん (ワッチョイ ffab-vS77)
2019/02/06(水) 16:09:43.98ID:1SbGZlcV0 若き日の俺は、gotoの他にフラグも無闇に使うなと教わったものだが
フラグはいいってことになったのは、いつからだ? どういう経緯でだ?
フラグはいいってことになったのは、いつからだ? どういう経緯でだ?
8デフォルトの名無しさん (ワッチョイ df52-S1Ul)
2019/02/06(水) 16:21:58.32ID:bwpbLxE30 Cにはラベル付きbreak文って無いんだね初めて知った
Javaのラベル付きbreak文
loop_exit: for(...) {
for(...) {
if (...) {
break loop_exit;
}
}
}
まぁJavaでもあまり使ったことないけど…。
Javaのラベル付きbreak文
loop_exit: for(...) {
for(...) {
if (...) {
break loop_exit;
}
}
}
まぁJavaでもあまり使ったことないけど…。
9デフォルトの名無しさん (ワッチョイ ffab-vS77)
2019/02/06(水) 16:41:15.95ID:1SbGZlcV0 #define break goto
みたいなしょーもないことしても本質的に何も変わっちゃいねえ
みたいなしょーもないことしても本質的に何も変わっちゃいねえ
10デフォルトの名無しさん (アウアウカー Sa53-MNmT)
2019/02/06(水) 18:02:39.46ID:CtZpHCTya gotoよりフラグがやばいよな。
11デフォルトの名無しさん (ワッチョイ ff02-vS77)
2019/02/06(水) 19:00:59.18ID:jnwpwdAT0 goto があっても
いいじゃないか
C言語だもの
いいじゃないか
C言語だもの
12デフォルトの名無しさん (アウアウクー MMb3-rTH6)
2019/02/06(水) 19:48:43.15ID:KUGC24GrM goto文そのものが悪いわけではない。いまだにgoto文の使用そのものがよくないというやつらのせいでおかしくなっている。
goto文で前のif文内に飛んでみたり、ループのなかに飛んでみたりと、乱用して人間には理解しづらいスパゲティプログラムを作るなという話なのに。
continue文だって実体はgoto文で、コンピュータにとってはメモリ上のマシン語を順番に実行しない場合はすべてメモリのアドレスのジャンプでgoto文。
goto文で前のif文内に飛んでみたり、ループのなかに飛んでみたりと、乱用して人間には理解しづらいスパゲティプログラムを作るなという話なのに。
continue文だって実体はgoto文で、コンピュータにとってはメモリ上のマシン語を順番に実行しない場合はすべてメモリのアドレスのジャンプでgoto文。
13デフォルトの名無しさん (ワッチョイ 7fab-qf6r)
2019/02/06(水) 20:21:21.69ID:WRu6z6Oe0 センサーで取得した計測値を数値では無く文字列で返す関数を作ろうと思ってる。
どんな計測結果が得られるか事前には分からないため文字列のサイズは関数内で
mallocを使ってリサイズする予定。
このとき測定結果が格納された文字列を関数から渡してもらうのに、
a) 引数に文字列のポインタのポインタを渡す
void sokutei( char** buff )
{
・・・
*buff = (char*)malloc( sizeof(char)*length );
・・・
}
と、
b) 関数の返値に文字列のポインタを指定する
char* sokutei(void)
{
・・・
char* buff = (char*)malloc( sizeof(char)*length );
・・・
return (buff);
}
の二つの方法があるけど
一般的にはどっちの方法がお薦め?
どんな計測結果が得られるか事前には分からないため文字列のサイズは関数内で
mallocを使ってリサイズする予定。
このとき測定結果が格納された文字列を関数から渡してもらうのに、
a) 引数に文字列のポインタのポインタを渡す
void sokutei( char** buff )
{
・・・
*buff = (char*)malloc( sizeof(char)*length );
・・・
}
と、
b) 関数の返値に文字列のポインタを指定する
char* sokutei(void)
{
・・・
char* buff = (char*)malloc( sizeof(char)*length );
・・・
return (buff);
}
の二つの方法があるけど
一般的にはどっちの方法がお薦め?
14デフォルトの名無しさん (ワッチョイ ffab-vS77)
2019/02/06(水) 20:30:53.85ID:1SbGZlcV015デフォルトの名無しさん (ワッチョイ ffab-vS77)
2019/02/06(水) 20:31:48.22ID:1SbGZlcV0 >>13
別にどっちでも
別にどっちでも
16デフォルトの名無しさん (ワッチョイ 7fab-qf6r)
2019/02/06(水) 20:34:02.27ID:WRu6z6Oe0 >>15
そ、そう・・・
そ、そう・・・
17デフォルトの名無しさん (ワッチョイ df7b-se+6)
2019/02/06(水) 20:50:04.50ID:y48wBDHW0 >>13
> センサーで取得した計測値を数値では無く文字列で返す関数を作ろうと思ってる。
これ自体が糞。
計測値は生で保持して、表示する時だけ文字列に変更しろ。
そうすればprintfだけで行けるだろ。
無駄に可変長のバッファなんて持とうとするから無駄に面倒になる。
初心者だから分からないのだと思うが、そもそも複雑にならないように全体像をまず組むんだよ。
> センサーで取得した計測値を数値では無く文字列で返す関数を作ろうと思ってる。
これ自体が糞。
計測値は生で保持して、表示する時だけ文字列に変更しろ。
そうすればprintfだけで行けるだろ。
無駄に可変長のバッファなんて持とうとするから無駄に面倒になる。
初心者だから分からないのだと思うが、そもそも複雑にならないように全体像をまず組むんだよ。
18デフォルトの名無しさん (アウアウカー Sa53-MNmT)
2019/02/06(水) 21:37:14.88ID:CtZpHCTya voidにするならポインタ返した方がいいと思うよ。
正しさでいうと、既存のライブラリ使ってシリアライズするのが正しい。
正しさでいうと、既存のライブラリ使ってシリアライズするのが正しい。
19デフォルトの名無しさん (ワッチョイ df01-vS77)
2019/02/06(水) 22:39:39.17ID:eUM592Vs0 関数の戻り値は処理の成否のみを返す。
正常終了なら0、異常終了なら非ゼロ。
入出力は引数で渡す。
と、決めて統一するのが良いと思う。
正常終了なら0、異常終了なら非ゼロ。
入出力は引数で渡す。
と、決めて統一するのが良いと思う。
20デフォルトの名無しさん (ワッチョイ 7fab-qf6r)
2019/02/06(水) 22:43:12.36ID:WRu6z6Oe0 助言ありがとう
確かに関数の戻り値は処理の成否のみに限定するのはスッキリしていいかも
> 文字列で返すのが糞
確かにその通りで(;^ω^)
確かに関数の戻り値は処理の成否のみに限定するのはスッキリしていいかも
> 文字列で返すのが糞
確かにその通りで(;^ω^)
21デフォルトの名無しさん (ワッチョイ df01-vS77)
2019/02/06(水) 23:32:22.18ID:eUM592Vs0 重要なのは統一するってこと。
標準ライブラリには戻り値に二つの意味を持たせているのが多いから、個人的に好きじゃない。
fopen() 成功時はファイルポインタを返し、失敗時はNULLを返す。
strtol() 成功時は変換結果を返し、失敗時は0を返す。
これじゃ変換結果が0なのか、失敗して0なのか分からない。
で、errnoを見ろってことになってる。
なんでこうなってるかというと、戻り値に処理の成否と結果の二つを持たせているから。
だったら、分ければいいじゃんって話。
標準ライブラリには戻り値に二つの意味を持たせているのが多いから、個人的に好きじゃない。
fopen() 成功時はファイルポインタを返し、失敗時はNULLを返す。
strtol() 成功時は変換結果を返し、失敗時は0を返す。
これじゃ変換結果が0なのか、失敗して0なのか分からない。
で、errnoを見ろってことになってる。
なんでこうなってるかというと、戻り値に処理の成否と結果の二つを持たせているから。
だったら、分ければいいじゃんって話。
22デフォルトの名無しさん (ワッチョイ df7b-se+6)
2019/02/06(水) 23:38:05.98ID:y48wBDHW0 >>20
多分相場が分かってないのだと思うけど、
正しく初心者の自覚があるのなら、ある程度縛りプレイで行った方がいい。
C言語なんて現役で50年来てるし、そのセンサーだって民生品なら誰かが同様に使ってる。
それでもそれ用のライブラリがないのなら、それはそもそもそういう使い方をする奴がこれまで居なかったということ。
つまり、そのやり方が間違っている、と見ていい。
初心者が自前でライブラリみたいな物をいきなり組まなければならない時点で設計が間違ってる。
それは君らがよく誤用している「無能な働き者」に該当する。
(ただし繰り返すが、Webでの多くは誤用されているので注意)
多分相場が分かってないのだと思うけど、
正しく初心者の自覚があるのなら、ある程度縛りプレイで行った方がいい。
C言語なんて現役で50年来てるし、そのセンサーだって民生品なら誰かが同様に使ってる。
それでもそれ用のライブラリがないのなら、それはそもそもそういう使い方をする奴がこれまで居なかったということ。
つまり、そのやり方が間違っている、と見ていい。
初心者が自前でライブラリみたいな物をいきなり組まなければならない時点で設計が間違ってる。
それは君らがよく誤用している「無能な働き者」に該当する。
(ただし繰り返すが、Webでの多くは誤用されているので注意)
23デフォルトの名無しさん (アウアウカー Sa49-3h0o)
2019/02/07(木) 00:06:12.90ID:AP44nO75a 副作用がメインならともかく、欲しいものを素直にreturnすればいいよ。
24デフォルトの名無しさん (ワッチョイ 495f-QV4H)
2019/02/07(木) 00:29:49.70ID:92YFdzoB0 strtol()は変換できなかった時の戻り値が曖昧だから0やらLONG_MAX、LONG_MINに固定してるだけだと思ってたんだけど
25デフォルトの名無しさん (ワッチョイ 82a5-l1YC)
2019/02/07(木) 00:29:57.91ID:xA+ztU7B0 バカかコイツラNaNが出たらどーすんだよ
文字列が正しいだろJK
文字列が正しいだろJK
26デフォルトの名無しさん (エムゾネ FF22-NjBW)
2019/02/07(木) 05:23:13.49ID:TUp6R+x+F >>20
C言語の戻り値って、エラーのみで返して、正の値って無いから、C++だな、C++言語に行くように
C言語の戻り値って、エラーのみで返して、正の値って無いから、C++だな、C++言語に行くように
27デフォルトの名無しさん (ワッチョイ aeab-feI+)
2019/02/07(木) 06:44:41.17ID:3iAi8jGM028デフォルトの名無しさん (ワッチョイ 82d2-CHas)
2019/02/07(木) 07:00:15.05ID:zkf2ry7x029デフォルトの名無しさん (ワッチョイ 8602-XlDt)
2019/02/07(木) 17:48:23.42ID:hewX2k170 くっそ初心者なんだがガウスの消去法でn次連立方程式を解くようにしたいんだがn次を入力させてからやるにはどうやりゃいいんだ?
30さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd22-IbdQ)
2019/02/07(木) 17:57:54.86ID:trMMLIP2d 行列の格納先に配列のかわりにmallocで動的に確保する。
31デフォルトの名無しさん (ブーイモ MMcd-LgSH)
2019/02/07(木) 21:03:55.08ID:2L3KkQ6GM n以外はどうやって入力させるつもりだったの?
3213 (ワッチョイ 82ab-/WZR)
2019/02/07(木) 23:25:09.01ID:9IdI5ETg0 a)の方法。空の文字列を渡そうとすると失敗するっぽい
char** str;
sokutei( str );
これやっても有意な文字列はstrに返ってこなかった。
もしこれやるならb)の方法じゃ無いとダメかも↓
cha* str;
str = sokutei();
char** str;
sokutei( str );
これやっても有意な文字列はstrに返ってこなかった。
もしこれやるならb)の方法じゃ無いとダメかも↓
cha* str;
str = sokutei();
33デフォルトの名無しさん (ワッチョイ 495f-QV4H)
2019/02/07(木) 23:38:06.10ID:92YFdzoB0 初心者だから間違ってるかもしれんけど
外でメモリ確保してないからじゃない?
文字列を関数内で作ってたら関数処理終わった後は文字列がそのまま残るかは保証されなかったような気が
外で配列宣言して関数に渡して、関数内でそこにmemcpyさせるとか?
外でメモリ確保してないからじゃない?
文字列を関数内で作ってたら関数処理終わった後は文字列がそのまま残るかは保証されなかったような気が
外で配列宣言して関数に渡して、関数内でそこにmemcpyさせるとか?
34デフォルトの名無しさん (ワッチョイ 2567-feI+)
2019/02/07(木) 23:41:01.38ID:2ez4owIb035デフォルトの名無しさん (ワッチョイ 495f-QV4H)
2019/02/07(木) 23:59:08.20ID:92YFdzoB0 あぁmallocしてんのね…
aは何でchar**なんだろう
aは何でchar**なんだろう
36デフォルトの名無しさん (アウアウカー Sa49-3h0o)
2019/02/08(金) 00:24:25.67ID:ssW/5KIMa ちゃ
37デフォルトの名無しさん (ワッチョイ aeab-feI+)
2019/02/08(金) 07:47:48.49ID:Mb3d412j038デフォルトの名無しさん (スフッ Sd22-QV4H)
2019/02/08(金) 08:37:48.99ID:uDm/bfU0d >>34
あぁなるほど
char **str;
sokutei(str); // 関数の引数にstrのアドレスがコピーされるだけ
だから関数内で代入してもコピーに再代入してるだけか
char *str;
sokutei(&str); // str自体のアドレスを渡す
これなら外のstrにmallocで確保したアドレスが入るのね
あぁなるほど
char **str;
sokutei(str); // 関数の引数にstrのアドレスがコピーされるだけ
だから関数内で代入してもコピーに再代入してるだけか
char *str;
sokutei(&str); // str自体のアドレスを渡す
これなら外のstrにmallocで確保したアドレスが入るのね
39デフォルトの名無しさん (ワッチョイ a969-drk2)
2019/02/08(金) 09:08:14.73ID:kNpkYNE/0 渡した引数を書き換えてくれるインターフェースは
scanf() の使い方と同じくするしかない
scanf() の使い方と同じくするしかない
40デフォルトの名無しさん (ワッチョイ a900-uNFS)
2019/02/08(金) 13:03:58.19ID:VZqJ7QJN0 Cに未来はあるのか
>>37
VLA は廃れていく方向のダメな子じゃないですか?c++ からも linux からも追放されたようですし
VLA は廃れていく方向のダメな子じゃないですか?c++ からも linux からも追放されたようですし
>>40
たくさんの人に使ってもらいたいライブラリを書くのなら、現状 C しかないと思います
たくさんの人に使ってもらいたいライブラリを書くのなら、現状 C しかないと思います
43デフォルトの名無しさん (ワッチョイ aeab-feI+)
2019/02/08(金) 21:45:38.59ID:Mb3d412j044デフォルトの名無しさん (ワッチョイ bd5f-1QgP)
2019/02/09(土) 01:59:26.91ID:babOKSMs0 >>26
ANSI Cでは何かしらの値を返さなければいけない。
ANSI Cでは何かしらの値を返さなければいけない。
45デフォルトの名無しさん (ワッチョイ 9127-feI+)
2019/02/10(日) 10:04:34.79ID:wNxUL6Ap0 どこかのHPで「自分は頭悪くてC言語の命令が覚えられなかったからアセンブラでプログラミングしてた」という記述を見たんだけど
アセンブラの方がよっぽど難しいと思うんだけど、アセンブラできる人からしたら違うのかな?
アセンブラの方がよっぽど難しいと思うんだけど、アセンブラできる人からしたら違うのかな?
46デフォルトの名無しさん (ワッチョイ e1f2-feI+)
2019/02/10(日) 10:40:12.32ID:FPonLwYC0 単に、新しいものを覚えるより使い慣れたアセンブラのままでやった方が早いという話じゃないかな。
あるいは情報処理試験の話だったとか。
あるいは情報処理試験の話だったとか。
47デフォルトの名無しさん (アウアウウー Sa05-3h0o)
2019/02/10(日) 10:47:05.06ID:nPt8HxnAa おそろしく英語がわからんプログラマーを見ると少し哀れみを感じる
48デフォルトの名無しさん (ワッチョイ e101-UsED)
2019/02/10(日) 10:48:33.87ID:/aZS7s8b0 >>45
ものにもよるけど理解するのはアセンブラのほうが単純なぶん簡単。
ものにもよるけど理解するのはアセンブラのほうが単純なぶん簡単。
49デフォルトの名無しさん (ワッチョイ 82a5-l1YC)
2019/02/10(日) 12:53:55.02ID:C8AJlGLg0 一部には変数概念を理解できなかった御仁もいるらしい
50デフォルトの名無しさん (ワッチョイ 868c-gf/b)
2019/02/10(日) 12:55:24.84ID:nnE1Q40B0 CPU設計者じゃないかな
51デフォルトの名無しさん (ワッチョイ 922d-DOJB)
2019/02/10(日) 13:26:11.80ID:6kY6tuUn0 アーキテクチャや機械語ニーモニックは簡単なんだけど
CPUと直接関係のない、アセンブラ指示子やコマンドを覚えて
エラーなくアセンブル通るようにするのは大変
CPUと直接関係のない、アセンブラ指示子やコマンドを覚えて
エラーなくアセンブル通るようにするのは大変
52デフォルトの名無しさん (アウアウカー Sa49-3h0o)
2019/02/10(日) 13:34:57.75ID:fhaaLeE2a わかりやすいアセンブラ作るとCになると思うよ
>>52
ならないですね…
ならないですね…
54デフォルトの名無しさん (ワッチョイ 0201-3tWi)
2019/02/10(日) 14:46:39.63ID:vOpxNkmL0 構造化アセンブラとかあったな
結局流行らなかったけど
結局流行らなかったけど
55デフォルトの名無しさん (ワッチョイ 91da-feI+)
2019/02/10(日) 16:31:12.43ID:ixgHA2PX0 構造化アセンブラ使っていればいずれCに移行するし
Cで記述できない部分はインラインアセンブラで補うようになる
構造化されているとはいえアセンブラはあくまでアセンブラ
生産性はCには及ばない
元組込みマイコンプログラマより
Cで記述できない部分はインラインアセンブラで補うようになる
構造化されているとはいえアセンブラはあくまでアセンブラ
生産性はCには及ばない
元組込みマイコンプログラマより
56デフォルトの名無しさん (ワッチョイ aeab-feI+)
2019/02/10(日) 17:36:00.24ID:XdgVAt+K0 >>45
アセンブラってのは理屈じゃない決めごとを憶えるだけでいいが
Cやその他の高級言語は構造化だとか処理系依存がどうたらという
どっかの知らん馬の骨が強弁する作法シキタリに付き合わされるから
気が短いやつはプイと出てっちまうのさ
鵜呑みをせず納得ずくでしか動かんやつという意味では大物の素養がある
アセンブラってのは理屈じゃない決めごとを憶えるだけでいいが
Cやその他の高級言語は構造化だとか処理系依存がどうたらという
どっかの知らん馬の骨が強弁する作法シキタリに付き合わされるから
気が短いやつはプイと出てっちまうのさ
鵜呑みをせず納得ずくでしか動かんやつという意味では大物の素養がある
57デフォルトの名無しさん (ワッチョイ a17b-D6og)
2019/02/10(日) 17:48:21.83ID:6qUtXmPD0 最初がBASIC小僧だった経験から言わせてもらうと、
サブルーチン(Cでは関数)に値を渡す返すって部分が分からなかったな。
ある計算をさせるサブルーチンにパラメータを与えたいときは
大域変数に入れて共有する、値の返却も同様。
これはアセンブラでも同じでしょ。レジスタで渡す返すも可能だけど。
その後、8bitマシン語少年に進み、Cを勉強した時は
ポインタ加算の自動スケーリングに引っかかった。
int *p = &a[0];
p += 4; // ここで p == &a[4] になるのが納得いかない
新たな p が指す先は a[2] か a[1] (intのサイズに依存)、と考えたわけ。
サブルーチン(Cでは関数)に値を渡す返すって部分が分からなかったな。
ある計算をさせるサブルーチンにパラメータを与えたいときは
大域変数に入れて共有する、値の返却も同様。
これはアセンブラでも同じでしょ。レジスタで渡す返すも可能だけど。
その後、8bitマシン語少年に進み、Cを勉強した時は
ポインタ加算の自動スケーリングに引っかかった。
int *p = &a[0];
p += 4; // ここで p == &a[4] になるのが納得いかない
新たな p が指す先は a[2] か a[1] (intのサイズに依存)、と考えたわけ。
58デフォルトの名無しさん (ワッチョイ 4101-drk2)
2019/02/10(日) 18:06:18.52ID:ialxvDQ60 プリプロセッサで MASM の REPT句と同じようなのが欲しいいかも と思ったことはある
59デフォルトの名無しさん (ワッチョイ 6ed2-/WZR)
2019/02/11(月) 08:42:09.13ID:sI6uV93B0 C言語学び始めたときに(BASIC、Z80/8086アセンブラの経験はあった)「C言語の非常識」とかいう本読んで
トラブルになりそうなところを先に学んだんでそう苦労しなかったな。
それより16bit DOS時代だったんでコンパイル設定でメモリモデルがLARGEだのHUGEだのの方が理解でできんかった。
まだ学生で「インターネットください」より前の時代で調べる手段がわからんかったし。
トラブルになりそうなところを先に学んだんでそう苦労しなかったな。
それより16bit DOS時代だったんでコンパイル設定でメモリモデルがLARGEだのHUGEだのの方が理解でできんかった。
まだ学生で「インターネットください」より前の時代で調べる手段がわからんかったし。
60デフォルトの名無しさん (ワッチョイ 8602-Z23n)
2019/02/11(月) 16:17:31.30ID:aNfCU32+0 それ30年ぐらい前だよね。
large だの huge だのは本読んだりして覚えたなあ。
large だの huge だのは本読んだりして覚えたなあ。
61デフォルトの名無しさん (ワッチョイ e101-feI+)
2019/02/11(月) 16:27:55.76ID:nk0/BZLe0 nearとfar
懐かしいな
懐かしいな
62デフォルトの名無しさん (ワッチョイ 6e63-OF6d)
2019/02/11(月) 16:39:10.95ID:adB+iGat0 数百MBの配列データを扱うときにコンパクトモデル利用したな
63デフォルトの名無しさん (ワッチョイ 221e-wI+I)
2019/02/11(月) 16:57:59.18ID:/r6pt/Ls0 30 年前に C コンパイラにアセンブラソース出させて C を学んだけど
ひょっとして普通はしないことなの?
ひょっとして普通はしないことなの?
64デフォルトの名無しさん (ワッチョイ 427c-GiBE)
2019/02/11(月) 16:58:51.46ID:7mPrdtBm0 >>62
CPUはなんでしたか?
CPUはなんでしたか?
65デフォルトの名無しさん (ワッチョイ 6e63-OF6d)
2019/02/11(月) 17:08:20.36ID:adB+iGat0 MS-DOSでPC98使ってました
多分80386だったんじゃないかな?
多分80386だったんじゃないかな?
66デフォルトの名無しさん (ワッチョイ 2504-feI+)
2019/02/11(月) 17:11:09.55ID:CRK5hAp10 RA21
67デフォルトの名無しさん (ワッチョイ 6e63-OF6d)
2019/02/11(月) 17:20:25.05ID:adB+iGat0 なんかそれっぽいw
CADのデータを扱うアプリで、データが大きくなりすぎて
PCによっては読込すら出来なくなってしまい
アプリを立ち上げずに画面表示やプロッター出力する
プログラムを作れという指令が飛んだんです
データ構造は比較的簡単で、先頭部分に部品基本イメージ、
その後ろから、固定長で膨大な描画情報がある感じです
描画情報を64k未満の配列に分割して格納し、
それぞれの配列アドレスを格納した配列経由で操作するイメージでした
CADのデータを扱うアプリで、データが大きくなりすぎて
PCによっては読込すら出来なくなってしまい
アプリを立ち上げずに画面表示やプロッター出力する
プログラムを作れという指令が飛んだんです
データ構造は比較的簡単で、先頭部分に部品基本イメージ、
その後ろから、固定長で膨大な描画情報がある感じです
描画情報を64k未満の配列に分割して格納し、
それぞれの配列アドレスを格納した配列経由で操作するイメージでした
68デフォルトの名無しさん (ワッチョイ a969-drk2)
2019/02/11(月) 17:31:32.52ID:3tLemvMU0 DXFのENTITIESセクションとかかな 頭に部品イメージ云々
69デフォルトの名無しさん (ワッチョイ 6e63-OF6d)
2019/02/11(月) 17:40:57.96ID:adB+iGat0 そんな感じです
ソフトは有名な高額ソフトではありません
スタンドアロンのMS-DOSで動作可能なほど
コンパクトなものでした(名前失念w)
ソフトは有名な高額ソフトではありません
スタンドアロンのMS-DOSで動作可能なほど
コンパクトなものでした(名前失念w)
70デフォルトの名無しさん (ワッチョイ fe7c-OF6d)
2019/02/11(月) 17:51:01.28ID:Hh2Z/MAZ071デフォルトの名無しさん (ワッチョイ 0201-3tWi)
2019/02/11(月) 17:52:29.43ID:MkFOBvt90 そもそもPC-98シリーズで数百MBのメモリー載る機種あるのか?
HDDですら数十MBクラスが普通だったと思うが…
HDDですら数十MBクラスが普通だったと思うが…
72デフォルトの名無しさん (ワッチョイ 6e63-OF6d)
2019/02/11(月) 18:00:50.47ID:adB+iGat073デフォルトの名無しさん (ワッチョイ 91da-uR/r)
2019/02/11(月) 18:55:56.19ID:ItYOkWkR0 あれ?
98note 使ってたけどメモリ増設で16MB 積むか12MBで妥協するかで悩んでいた記憶が…
勘違いかな?
98note 使ってたけどメモリ増設で16MB 積むか12MBで妥協するかで悩んでいた記憶が…
勘違いかな?
74デフォルトの名無しさん (ワッチョイ 6ed2-/WZR)
2019/02/11(月) 19:06:33.17ID:sI6uV93B0 Ap2でいくら載せてたかなぁ・・・。
20だか30M程度だったと思う。
パリ有りメモリで近所で扱ってる店も無かった時代なんで。
ぐぐったら公式で最大 73.6MB 、非公式で125.6MBまでいけたらしい。
>HDDですら数十MBクラスが普通だったと思うが…
それはSASI HDDじゃないか?VM時代か?
RXで340M、AP2で4G のSCSI HDD使ってたよ。
20だか30M程度だったと思う。
パリ有りメモリで近所で扱ってる店も無かった時代なんで。
ぐぐったら公式で最大 73.6MB 、非公式で125.6MBまでいけたらしい。
>HDDですら数十MBクラスが普通だったと思うが…
それはSASI HDDじゃないか?VM時代か?
RXで340M、AP2で4G のSCSI HDD使ってたよ。
75デフォルトの名無しさん (ワッチョイ bdc3-EwQo)
2019/02/12(火) 02:24:51.56ID:xDY2FToe0 Cしかかけませんっていうの
76デフォルトの名無しさん (ワッチョイ bdc3-EwQo)
2019/02/12(火) 02:25:15.35ID:xDY2FToe0 Cしか書けませんっていうのは新卒就活のときに不利?
他にどんな言語を習得すればいいんだろうか
他にどんな言語を習得すればいいんだろうか
77デフォルトの名無しさん (ワッチョイ 49e6-OF6d)
2019/02/12(火) 02:52:19.85ID:wp1a6nq70 まず「他にどんな言語を習得すれば良いんだろうか」なんて言ってること自体がかなり的外れかな
手段と目的の順序が逆
あと面接のときに「何故C言語を習得し、それを何に使ったんですか?」って聞かれてちゃんと答えられる?
手段と目的の順序が逆
あと面接のときに「何故C言語を習得し、それを何に使ったんですか?」って聞かれてちゃんと答えられる?
78デフォルトの名無しさん (ワッチョイ 91da-uR/r)
2019/02/12(火) 03:06:28.22ID:jEa3f+fD0 新卒であればプログラム言語そのものより他にアピールした方がいいと思うけどな
組み込みであれば現代制御理論、解析系であれば有限要素解析などC言語のプログラミングを応用する専門分野の知識を売り込んだほうがいいと思う
組み込みであれば現代制御理論、解析系であれば有限要素解析などC言語のプログラミングを応用する専門分野の知識を売り込んだほうがいいと思う
79デフォルトの名無しさん (ワッチョイ aebf-feI+)
2019/02/12(火) 05:55:34.89ID:4zHmA9zW0 >>76
俺んとこではそれで充分
ただしCが書けるといってもHello worldの域を出ていないのは書けるうちに入らない
アルゴリズムの基本ができているかどうかを見ている
できていれば他言語が必要になっても泥縄ができるからだ
俺だってもともとアセンブラ屋で正社員3年目くらいのときにCの案件が回ってきて必死こいて憶えた
俺んとこではそれで充分
ただしCが書けるといってもHello worldの域を出ていないのは書けるうちに入らない
アルゴリズムの基本ができているかどうかを見ている
できていれば他言語が必要になっても泥縄ができるからだ
俺だってもともとアセンブラ屋で正社員3年目くらいのときにCの案件が回ってきて必死こいて憶えた
80デフォルトの名無しさん (ワッチョイ e101-UsED)
2019/02/12(火) 06:06:40.84ID:QnKLUVRS081デフォルトの名無しさん (ワッチョイ 868c-gf/b)
2019/02/12(火) 09:06:46.70ID:lJ9WNOSb0 AならばBであるを表現できますか?と聞く
82デフォルトの名無しさん (ワッチョイ 82d2-CHas)
2019/02/12(火) 09:17:13.28ID:puzbyhsI0 64ビットCPUでもデフォルトの命令のオペランドが32ビットだから
linuxでint_fast32_tを使うのは間違いだったんだな
多分64ビットのアドレス計算も32bitの命令があるからパッディングとかも
起こらないだろうな
linuxでint_fast32_tを使うのは間違いだったんだな
多分64ビットのアドレス計算も32bitの命令があるからパッディングとかも
起こらないだろうな
83デフォルトの名無しさん (ワッチョイ 0233-/WZR)
2019/02/12(火) 09:24:10.34ID:Y0SH8Lt40 >>82 どこが間違いなの?
84デフォルトの名無しさん (ワッチョイ 82d2-CHas)
2019/02/12(火) 09:29:01.84ID:puzbyhsI0 >>83
linuxはint_fast32_tが64ビットになってるから
linuxはint_fast32_tが64ビットになってるから
85デフォルトの名無しさん (ワッチョイ 82d2-CHas)
2019/02/12(火) 13:06:03.99ID:puzbyhsI086デフォルトの名無しさん (ワッチョイ aebf-feI+)
2019/02/12(火) 13:19:08.47ID:4zHmA9zW0 ポインタの引き算に使うんならptrdiff_tだね
int_fast32_tが何ビットかには関係ない
int_fast32_tが何ビットかには関係ない
87デフォルトの名無しさん (ブーイモ MMcd-LgSH)
2019/02/12(火) 15:07:18.06ID:s+eQ0w2IM >>84
amd64では64bitが最速でないのに64bitが選ばれるのはおかしいっていう主張?
amd64では64bitが最速でないのに64bitが選ばれるのはおかしいっていう主張?
88デフォルトの名無しさん (ワッチョイ 82d2-CHas)
2019/02/12(火) 15:11:10.99ID:puzbyhsI089デフォルトの名無しさん (ワッチョイ a900-uNFS)
2019/02/12(火) 18:52:25.91ID:2Rlz0B+x0 このスレの平均年齢って幾つなんだ…(驚愕)
Cってもう若者は触らないっていう感じなんですかね。
Cってもう若者は触らないっていう感じなんですかね。
90デフォルトの名無しさん (ワッチョイ 6e63-OF6d)
2019/02/12(火) 19:06:37.74ID:5/zfp5Xa0 ここに書き込みしているのは、人間じゃないから
91デフォルトの名無しさん (ワッチョイ e101-UsED)
2019/02/12(火) 19:13:42.99ID:QnKLUVRS0 若者のC言語離れが叫ばれて久しいからな。
92デフォルトの名無しさん (ワッチョイ 6e63-OF6d)
2019/02/12(火) 19:16:16.52ID:5/zfp5Xa0 50年前は、概ね若者だった
93デフォルトの名無しさん (ラクペッ MM99-uR/r)
2019/02/12(火) 19:43:56.33ID:9j8xXtILM いまどきの若者ならみんなPythonに行ってるよ
やや年食ってる連中ならJavaやC#
職人気質で頑固な偏屈者はC++
Cはかつての栄光を引き摺って余生を過ごす老人の言語
やや年食ってる連中ならJavaやC#
職人気質で頑固な偏屈者はC++
Cはかつての栄光を引き摺って余生を過ごす老人の言語
94デフォルトの名無しさん (ワッチョイ 6e63-OF6d)
2019/02/12(火) 19:46:30.05ID:5/zfp5Xa0 Lunuxのソースって言語はなんだっけ?
>>93
でも言語を超えて活用されるライブラリ(libzip, libpng/libjpeg etc)は C で書かれることはあっても、OOP 諸言語で書かれることはないかと思うのですが?
C++ で記述される汎用ライブラリはありますか?
でも言語を超えて活用されるライブラリ(libzip, libpng/libjpeg etc)は C で書かれることはあっても、OOP 諸言語で書かれることはないかと思うのですが?
C++ で記述される汎用ライブラリはありますか?
96デフォルトの名無しさん (ワッチョイ 6e8f-IyyE)
2019/02/12(火) 22:30:48.71ID:Jl2Y8iQt0 Cの使い手が減ったんじゃなくて他の言語の仕事が増えてるんじゃないの。
もともとサーバー側のシステム開発をCでやったりはレアでしょ。
もともとサーバー側のシステム開発をCでやったりはレアでしょ。
97デフォルトの名無しさん (ワッチョイ 6e8f-IyyE)
2019/02/12(火) 22:31:50.68ID:Jl2Y8iQt0 むしろ立場が怪しいのはjavaじゃないか?
98デフォルトの名無しさん (アウアウウー Sa05-3h0o)
2019/02/12(火) 22:33:34.82ID:CAePQpAGa99デフォルトの名無しさん (ワッチョイ 6e8f-IyyE)
2019/02/12(火) 22:38:44.87ID:Jl2Y8iQt0 jsonをcで扱うのは涙がでますよ……
100デフォルトの名無しさん (アウアウウー Sa05-3h0o)
2019/02/12(火) 22:57:01.03ID:CAePQpAGa Cでがんばろうと思うと、glibみたいな形になっちゃいますね。
101デフォルトの名無しさん (ワッチョイ 82d2-CHas)
2019/02/13(水) 12:23:21.90ID:ds2YQTN50 俺は有名な言語はほとんど全種類使えるから適材適所で使い分けてるは
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 【野球】野球の未来に危機感「マイナースポーツになる」 宮本慎也氏が開催…学童大会 [尺アジ★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- 【愛国者速報】山上徹也、金に困りTwitterのお金配り垢に応募していた。犯行もお金があったら暫くやらなかったと供述 [856698234]
- 防衛省関係者「中国軍のレーダー照射は現場の忖度か暴走だろう」 [834922174]
- マヨネーズにわさび、山椒、卵の黄身、ラー油、オリーブオイルを入れてよく混ぜてください
- 千晴とVIPの深夜の遊戯
- 全力疾走してる人同士が正面からぶつかったら最悪どうなるんだろう
- 巨大地震 [957955821]
