C言語なら俺に聞け 162

■ このスレッドは過去ログ倉庫に格納されています
2023/10/30(月) 17:13:00.82ID:hHEGE8Ol0
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C17
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C23 最新ドラフト
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.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言語なら俺に聞け 161
https://mevius.5ch.net/test/read.cgi/tech/1682053520/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
482デフォルトの名無しさん (スプッッ Sdff-ytPG)
垢版 |
2024/01/26(金) 09:12:22.82ID:f6TAFOdQd
>>481
>Cの文法規則がいいかげんなんだよ

だよな
2024/01/26(金) 09:47:41.79ID:5qejItpup
アドレスと言う値を渡してるのだからどちらも同じ事だろ
2024/01/26(金) 10:37:55.79ID:mR+OAnS80
いい加減なところが好かれる理由
2024/01/26(金) 10:46:46.89ID:Tqv1qsfwp
アセンブラまんどくさいから作ったのがC
だから型がイイカゲンなのはアセンブラやってる人が対象だから
2024/01/26(金) 10:52:28.10ID:6gE8lNl00
イイカゲンにしてるとコンパイラの最適化を有効にしたときに破綻するぞ
2024/01/26(金) 12:43:22.79ID:IWVVekFc0
>>483
構造体は値渡しとアドレスの値渡しがある
どっちも値渡しというと訳が分からなくなる
なので、構造体は値渡しとポインタ渡しが出来ると言えば便利だ
そうすれば、配列は値渡しが出来ないとも言うことが出来る
2024/01/26(金) 13:17:11.83ID:hEzJutz20
C++で参照が登場したので「アドレスの値渡し」とか言っている訳で
C++を知らんと意味不明だし違和感あるだろうな
489デフォルトの名無しさん (ワントンキン MM4f-NhvB)
垢版 |
2024/01/26(金) 14:03:32.73ID:OnjHbhExM
C++がどうのとかは全然関係ないでしょ
2024/01/26(金) 14:07:19.39ID:6gE8lNl00
C++ とは関係ないと私も思う。
仮引数と実引数の関係は (型がポインタかどうかに関係なく) 値の代入であるということになっている。
繰り返すが言語仕様上の理屈では解釈の余地なく全ての引数は値呼びのメカニズムで規定されているよ。
C++ の参照と区別するための言い回しではなく仕様上の理屈通りに言えばそうなるってだけ。
2024/01/26(金) 14:12:08.41ID:u8n9O9U10
それで結局
&var
の値はポインタなの?アドレスなの?
どっちでもいいんだよね?
2024/01/26(金) 14:57:45.80ID:6gE8lNl00
「アドレス」と「ポインタ」の使い分けはイマイチわからないんだよなー。どっちでもいいと思う。
単項演算子の & にはアドレス演算子という名前がついていてアドレスを返すとも書いてあるのでこれについてはアドレスと言っていいのは間違いない。
ポインタは型の種類のように使われてることもあるし、ポインタ型の値のことを指しているように見える箇所もある。
個人的感想としてはアドレスのほうが低レイヤ寄りの概念でポインタは型で意味付けしているような雰囲気を感じてるんだけどあまりはっきりしない。
2024/01/26(金) 16:28:15.83ID:TUEfKZ6Qp
参照渡しと実体渡しかw
あれも、アドレス渡しとコピー渡しって言えばいいのにね
2024/01/26(金) 16:55:28.58ID:VvnpRsjB0
アドレスは、数値が主体でそれが何を示しているかの説明の為の単語。
ポインタは変数の一つで *p や p->a 等の動作も含めての設計思想。

などと意味不明な(ry
2024/01/26(金) 17:26:29.97ID:CEoHa9Fg0
アドレスは値
ポインタは型だよ
正確にはintのポインタ型とか言うけど
2024/01/26(金) 17:35:02.08ID:WoOISbdM0
ポインタはポインタ値を格納する場所
2024/01/26(金) 17:36:54.25ID:CEoHa9Fg0
場所と言うのは曖昧な表現だな
498デフォルトの名無しさん (ワントンキン MM4f-NhvB)
垢版 |
2024/01/26(金) 18:03:51.31ID:Vqpo1a/ZM
アドレスは値で右辺値、ポインタは変数でオブジェクトで左辺値
こんな基本的なこと、頼むよ
2024/01/26(金) 18:27:39.65ID:GfgH9lD40
>>498 正しくない。ポインタ型の変数 int* p に対して p + 1 もポインタだけど、変数でも左辺値でもない。
2024/01/26(金) 18:29:01.58ID:WoOISbdM0
ある時はメモリーのサラリーマン、ある時はレジスターの探偵
2024/01/26(金) 19:46:30.13ID:XBTJ48xK0
規格上はどうなってるか知らんが
ポインタでいいじゃん統一しろよ
変数へのポインタを取る時アドレスと言いたくなるんやろな
分からんでもないが使い分ける必要はないと思う

アドレスといいつつ結局ポインタでしかないやろ?
場所だけじゃなくて型のサイズも持ってるでしょ?
アドレスと聞くと番地だけってイメージだけど
ポインタっつうのはそれに加えてサイズも持ってるのがミソ

だから不必要にアドレスと言い直す必要はない
だって実際にポインタしか扱わないんだから
2024/01/26(金) 20:04:10.51ID:Su75gAlu0
アドレスっていう言葉は規格には出てこないと予想してた。
規格にはポインタだけあればよくて、アドレスは実装の仕方のイメージがある。アドレスは多くの場合整数になるが、文字や文字列でもいいというような。
2024/01/26(金) 20:45:56.85ID:wwCmUZ7Wp
アドレスってアセンブラ屋さんが言う奴?
2024/01/26(金) 21:05:55.41ID:pu3OCH3K0
バイナリーエディタやメモリエディタでも言うよな。
2024/01/26(金) 21:07:17.18ID:coh7wFVpp
バイナリエディタのはアドレス違うよなぁ
メモリーエディタはアドレスだからいいけど
506デフォルトの名無しさん (ワントンキン MM4f-NhvB)
垢版 |
2024/01/26(金) 21:11:38.94ID:Vqpo1a/ZM
>>499
p+1はアドレスだよ
2024/01/26(金) 22:21:03.31ID:PDBFw7tbp
ポインターだろ
2024/01/26(金) 22:21:36.46ID:XBTJ48xK0
int a[4] = {0}, (*b)[4] = &a, *c = &a[0];
printf("%p %p\n", b, b + 1);
printf("%p %p\n", c, c + 1);

0x7ffc2026d710 0x7ffc2026d720
0x7ffc2026d710 0x7ffc2026d714

アドレスと捉えると同じ番地だけど
+1の結果が違う番地になるのは
ポインタが大きさを知っているから
これが単なる整数とは違うところ
2024/01/26(金) 22:22:12.95ID:8+XG8rAlp
アドレスと言えるのは直接ハードウェアにアクセスするものだけだよな
2024/01/26(金) 22:29:00.75ID:kxxVAnT60
規格書の加減算のとこにはp + 1の結果が何になるか書いてある?
2024/01/26(金) 22:36:52.96ID:tuyRrB6Ip
p+1の結果は、pの型によって違うやろ
2024/01/26(金) 22:48:45.51ID:kxxVAnT60
規格ちょっと読んだけど加減算のところには結果がアドレスになるかポインタになるか書いてなくね?
2024/01/26(金) 22:49:56.05ID:4G76jppe0
>>512
アドレスはポインタのエイリアスだろ?
2024/01/27(土) 00:39:52.91ID:RxNi/RLS0
だから、アドレスは値で、ポインタは型なんだ
p + 1はpの型によって結果が決まる
intかintのポインタ型かで結果が変わる
515デフォルトの名無しさん (ワッチョイ 5f7c-ytPG)
垢版 |
2024/01/27(土) 00:55:04.46ID:3j95TwYq0
>>514
>だから、アドレスは値で、ポインタは型なんだ
>p + 1はpの型によって結果が決まる
>intかintのポインタ型かで結果が変わる

だよな
2024/01/27(土) 01:15:46.64ID:lTO1GYgs0
>>514
規格読み直したら加算の結果はポインタになるって書いてあったわ
517デフォルトの名無しさん (ワッチョイ 5f7c-ytPG)
垢版 |
2024/01/27(土) 10:42:42.11ID:3j95TwYq0
>>516
何章?
2024/01/27(土) 14:54:07.21ID:IaaZCBNA0
(int)(p+1)-(int )(p) == sizeof (*p)
だっけ?
519デフォルトの名無しさん (スプッッ Sdff-ytPG)
垢版 |
2024/01/27(土) 15:00:52.15ID:Go/zq51jd
>>518
intは32bitのLP64環境ではどうなるんだい?
2024/01/27(土) 15:08:44.06ID:IaaZCBNA0
コンパイルエラーか警告でて下位32bitのみ取得じゃね?
sizeof (*p)がint_max超える設定でもなけりゃ目的は果たせそうだけど。
2024/01/27(土) 16:02:39.58ID:TmJLT/yO0
ポインタは整数に型変換できるけどその値がどうなるかは処理系定義。
変換結果がその整数型で表現できなかったときは未定義。
gcc や clang だとポインタをより小さい整数型に変換しようとしたらエラーになった。

intptr_t や uintptr_t に限っては正しい void* はこれらの整数に変換可能、かつ
void* に再び変換したら元の値と等しいことが保証される。
オブジェクトを指すポインタは void* に変換可能なので
オブジェクトを指すポインタは intptr_t や uintptr_t に (情報の欠落なく、可逆な形で) 変換できる。
しかしポインタが整数でどのような表現を持つかは規定されていないし、
intptr_t や uintptr_t は提供されないこともありうる。

オブジェクトを指すポインタは文字型を指すポインタに型変換してバイト列としてアクセスできることは保証されているので
オブジェクトの大きさを知るためにポインタ操作をするのであれば ↓ のような形にするのはアリなはず。

#include <assert.h>

int main(void) {
int obj;
int *p=&obj;
assert((char*)(p+1)-(char*)(p) == sizeof(*p));
}
2024/01/27(土) 17:07:11.96ID:JGqkehCyd
はちみつの説明はちっとも頭に入ってこん
3行にまとめてから貼れ
523デフォルトの名無しさん (ワッチョイ 5fb0-ytPG)
垢版 |
2024/01/27(土) 17:46:47.32ID:gXnDqsx80
>>518
つまりこのコードはダメってこったね
2024/01/27(土) 18:21:39.29ID:ubKEU+Fr0
>>522
関連する規則は関連する規則の数より減ることはない。
根拠不明でいいなら削るけどそんな説明を見たいのか?
2024/01/27(土) 18:27:31.62ID:8jAlHp2M0
3行しか文章解読できないなら、コード書くのは辛いだろう
2024/01/27(土) 18:41:16.06ID:lTO1GYgs0
>>517
「加算」でページ内検索すればすぐ見つかる
527デフォルトの名無しさん (ワッチョイ 6f5f-YGpO)
垢版 |
2024/02/22(木) 19:08:43.26ID:rfW+Fz5e0
errno ってどうしてスレッドごとに別々につかえるの?
2024/02/22(木) 19:34:35.22ID:o0M/RgFs0
>>527
「どうして」というのはそういう仕様になっている理由?
それともそれを実現している方法のこと?
2024/02/22(木) 19:51:00.46ID:rfW+Fz5e0
>>528
方法のほうですね
__thread ?とかってgcc固有?って聞いたけど
gcc以外とか大昔とかどうやってんのかなーって
2024/02/22(木) 20:08:19.54ID:o0M/RgFs0
>>529
errno は型 int を持つ変更可能な左辺値に展開されるならマクロで定義されてもよいことになっている。
昔の C には記憶域期間の分類にスレッドは無かったが
#define errno *__foo()
みたいな感じで定義しておいて、
この関数がスレッドごとに適切な場所を返すように作っておけば辻褄は合う。
2024/02/22(木) 21:32:39.53ID:rfW+Fz5e0
>>530
これでerrnoの初期化とかできるのか? なるほどできるのか。よくできてるね
2024/02/22(木) 22:17:46.64ID:3b0UfxEB0
結局、スレッド処理がいい具合にリンクしてくれてるって事だね
2024/02/23(金) 15:59:36.95ID:HdyUmXx/0
>>529
別にTLSの文法がなくてもコンパイラにTLS相当の非公開機能があれば実現可能。
2024/02/24(土) 16:12:18.49ID:+4BfNMQz0
TLSと言えばゲームの方やね
バタ語を略したスレッドローカルストレージではないんや
このスレの世代的にも半数以上がそう思って口に言わずとも突っ込んだ経験があるはずや
2024/02/24(土) 16:17:18.15ID:dGxq80rr0
ゲーム? バタ語? 何を言ってるのか分からない。
2024/02/24(土) 16:54:19.76ID:felFEjYK0
「TLS ゲーム」でググったらトゥルー・ラブストーリーが出てきた。
タイトルは聞いたことがあるけどやったことないし、 TLS なんて略称にはなじみがないわ。
Transport Layer Security と被っとるやないけというツッコミはしたくなったことはあるが。

バタ語ってなんや?
2024/02/24(土) 23:04:08.46ID:a3fFW9uua
ここの人は並列計算についても答えるの?
それともスレ違い?
2024/02/24(土) 23:05:48.99ID:a3fFW9uua
スレ違いなら何処が適してるの?
2024/02/25(日) 01:01:43.21ID:m/LZ7YZH0
>>537
一応は C の名前を冠したスレだからその質問が言語仕様に関わる質問ならこのスレでいい。
C を使ったロジックの組み立てかたみたいなのもある程度は許容されると思う。
環境に固有の事情が絡むならそれぞれのスレのほうがいいこともある。
Win32api スレとか Unix スレとか。
540名無し兎と鰻の大乱闘 (ワッチョイ cafd-p5xT)
垢版 |
2024/02/25(日) 23:17:51.95ID:3BSAc3tW0
しーげんごってなに?
2024/02/26(月) 00:50:15.88ID:mDObVK5g0
tlsって毎回アクセスする度に初期化済みかどうかチェックされるんか?
もしそうなら未初期化上等のc言語では特殊だな
542デフォルトの名無しさん (ワッチョイ 0aaa-g1P5)
垢版 |
2024/02/26(月) 17:12:35.82ID:hotfpUjh0
【AI】Stable Diffusion 3発表、Soraで話題の拡散トランスフォーマーを採用 [すらいむ★]
http://egg.5ch.net/test/read.cgi/scienceplus/1708865670/l50

ボイス・トォ・スカるしている者も攻撃を受けるようになりました
543デフォルトの名無しさん (ワッチョイ 9e6d-EVRh)
垢版 |
2024/02/26(月) 19:38:00.95ID:7RO6bLyL0
こんな Web ページを作りました。ぜひどうぞ。
http://www7b.biglobe.ne.jp/~river_r/chs/
2024/02/27(火) 13:07:12.38ID:gZVWnZ6O0
アクセスしないほうがいいよ
2024/02/27(火) 13:33:45.24ID:pm1A4e3U0
理由は?
546デフォルトの名無しさん (ワッチョイ 9eb5-EVRh)
垢版 |
2024/02/27(火) 17:32:18.89ID:xGsMPO790
>>543 ごめんなさい。言葉足らずでした。

「数値計算結果の画像化など」 という Web ページを作りました。
プログラミング、数値計算、カオス、画像作成と表示
などに興味がある方は、ぜひどうぞ。
http://www7b.biglobe.ne.jp/~river_r/chs/
2024/02/27(火) 17:46:48.10ID:0/infknm0
空白のBMPなんて簡単に作れると思うよ
起動したときに自分で作ったら良いと思った
2024/02/27(火) 18:03:33.97ID:NfALWDmT0
>>546
ここは C スレなんだから C で書いたほうが親切じゃないかな。
まあ実質的にはほとんど C みたいな書き方だけども……
549デフォルトの名無しさん (ワッチョイ 9e07-EVRh)
垢版 |
2024/02/29(木) 11:21:59.57ID:lAXCV22P0
>>0548
>546 です。C++ に特有な機能は、
全くと言っていいほど、使っていませんよ。
pow(x, y) というのは目新しいけど。
2024/02/29(木) 11:51:17.73ID:wasjN/NH0
30年前で時間が止まってんなこいつ
2024/02/29(木) 13:30:21.68ID:tTOuwN9N0
拡張子を.cにしてビルドしてみる
2024/02/29(木) 14:03:45.25ID:w6pA3tyf0
>>549
C++ の機能をほとんど使ってないことはわかってるしそう言ってるじゃないの。
使わないのに C++ の形式をとって C スレに投下するのはちょっと不親切かもねという話をしてるんだよ。

pow (べき乗関数の総称版) は C にもあるし、 C の仕様に入ったのは C99 から。
それを知らなくて (しかし使いたくて?) C++ にしたという意味なのかな?
2024/02/29(木) 15:54:08.56ID:a+kbfZOT0
pow()なんてx^y(yが変数)したい時だけでいい
pow(x,2), pow(x,0.5)は、(x*x), sqrt(x)と書いた方がいい
…まさか今時のコンパイラはこれも最適化したりする?
554デフォルトの名無しさん (ワッチョイ caac-o+si)
垢版 |
2024/02/29(木) 16:10:58.46ID:wvTonBo10
しらんけど、今どきだと最適化されるかもしれんね
1+2+・・・+99+100
こんな計算も(1+100)x 50で最適化される記事が昔あったような
2024/02/29(木) 16:38:23.25ID:z2rRJOdi0
こんな計算って、そのレベルでコンパイラ任せにしてるのか
2024/02/29(木) 17:09:00.84ID:QhPTi9Tjp
>>554
知らんけど、今は定数は先に計算しちゃうから、その式は1発答えだけになるような
2024/02/29(木) 17:09:33.30ID:zz2EilBV0
> 1+2+・・・+99+100

最適化というか、畳み込みで 5050に置き換えられるかと
558デフォルトの名無しさん (ワッチョイ caac-o+si)
垢版 |
2024/02/29(木) 18:55:44.88ID:wvTonBo10
例が悪かった、もちろん定数は一発計算してメモリに固定されるけど、
変数を含んでても、冗長計算を変形してくれるコンパイラが出て、gccもそのアルゴリズムを採用したことが昔あったような。
2024/02/29(木) 19:13:29.86ID:eV7kgdtT0
数値計算関連の関数はコンパイラによる最適化がなくても関数の内部が複雑な場合分けで対処してることが多いと思う。
GNU のやつとかだいぶんごちゃごちゃしてる。
2024/02/29(木) 19:19:48.52ID:z2rRJOdi0
人間が思いも付かなかったアルゴリズムで解いて見せたりして
人間が解析しても何故正しいかが分からなくなる
2024/03/01(金) 02:42:07.06ID:4OWvqJMX0
floatが絡むと誤差の出方が変わって結果が変わるから、式を変形するような最適化は不要だ
変形しても良いよというのが-ffast-mathだな
562デフォルトの名無しさん (ワッチョイ ab4e-7bv0)
垢版 |
2024/03/07(木) 00:36:21.20ID:D7Ff69360
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t sighandler);

signal関数の第1引数のシグナル番号(signum)と第2引数のハンドラ関数が実際に呼ばれたときに引数に入るシグナル番号(1行目の引数のint)は必ず一致する認識ですがあっていますか?
その場合はハンドラ関数では引数に入るシグナル番号は最初から分かっているはずですが、わざわざ引数にシグナル番号を取っている理由はなんでしょうか。シグナル番号によって処理を分岐するデカいハンドラ関数を作るくらいしか思いつきませんでした。
2024/03/07(木) 01:20:52.75ID:yhOhiWWp0
時間の無駄だからsignalのことは忘れなさい
時代遅れのCランタイムで本当に役立つものはごく少数しかない
そんな化石はスルーしてOSに用意された目的に合うAPIを直接使いなさい
Cランタイムのソースコードがある処理系なら読んでみると良い
2024/03/07(木) 04:56:12.94ID:3rDFlX/H0
signalの代替は無理だろ
ランタイム自作しろとか言うのか?
sigalrm使うなぐらいならわかるが
2024/03/07(木) 10:24:21.94ID:m0jtu/KQp
OS機能呼び出すとか移植性無視かw
2024/03/07(木) 10:26:04.98ID:u0AQ7cvO0
>>565
今は環境に合わせて移植するのではなく、環境を移植するのが主流だよ
2024/03/07(木) 10:26:06.80ID:Qh7cJyBm0
>>562
> 必ず一致する認識ですがあっていますか?

正しい。

> わざわざ引数にシグナル番号を取っている理由

Rationale に書かれていないのではっきりしたことはわからない。
おそらく Unix でそうなってたのを追認しただけだと思う。
2024/03/07(木) 10:29:39.62ID:Qh7cJyBm0
>>565
シグナルまわりはどうせほとんど移植性はない。
言語仕様の範囲内だけで可能なものなら不必要に移植性を損なう必要もないけど大抵の場合に無理だと思う。
2024/03/07(木) 12:06:04.83ID:HvQLfDgAd
構造体やポインターを理解できたら、C言語をマスターしたと言えますか?
2024/03/07(木) 12:44:05.75ID:Qh7cJyBm0
>>569
練習用の題材ではなく (自分なりに) 意味があるプログラムを書けたあたりが
一応のマスター (あくまで最低限の出発点だが!) だろうと個人的には思ってる。

プログラミング言語は道具なんだから道具として使えることが重要で、
言語の要素を何個理解したなんてのはたいした指標にならない。
2024/03/07(木) 13:28:05.42ID:GWVV9gt00
1000行程度のプログラムがすらすら一日で書けたら卒業
572デフォルトの名無しさん (ワッチョイ 0f2a-AlNe)
垢版 |
2024/03/07(木) 14:06:12.94ID:4AOndewA0
三行半で済む処理をダラダラ1万行ぐらいに増やすのは、得意なんだけどなあ。
2024/03/07(木) 15:29:11.48ID:MNNvXb/X0
それはそれで才能
574デフォルトの名無しさん (ワッチョイ 1f5c-0W2u)
垢版 |
2024/03/07(木) 15:56:22.94ID:tpHaFcPx0
>>562
番号を渡す理由はその方が柔軟性があるから
柔軟性の中には>>562で挙げてる理由も含まれる
なおsignal()は時代遅れなのでsignal.hにある別の関数を使うこと
2024/03/07(木) 20:44:25.94ID:yfQHOJuW0
>>564
signal()なんて使わず、せめてsigaction()にしろということでは?
576デフォルトの名無しさん (ワッチョイ 4f4c-lvv7)
垢版 |
2024/03/08(金) 18:40:01.38ID:6aUIMz1F0
>>562
デカいハンドラ関数を作る意図はなくても
同じようで異なる処理(複数のsigal番号の処理をする場合とか)をする時に
入口は一つにしておいて入力パラメータで処理を振り分けるとか普通の設計だと思うが。
わかりやすい例がWIN32APIのWindowProc。
あれがメッセージ番号毎に関数エントリを登録する形式だったら煩雑なことこの上ないだろ。
2024/03/08(金) 18:58:33.73ID:iEWrXUyW0
Windowってそんなsignalの使い方しないでしょう
2024/03/08(金) 19:33:39.28ID:KTmiotGH0
>>577
そういう話じゃないから文脈を掴んで。
2024/03/10(日) 23:22:14.50ID:CPrZIOdkd
>>570
>>571
ありがとうございます
とりあえず何か作ってみます
2024/03/11(月) 20:07:11.13ID:comBc+xk0
もうC言語は一旦終わりでいいから別の事やりなよ
結局Cだけの知識じゃ何もできんのよ
Cの知識はいざ何か作ろうとなった時に活きてくるよ
581デフォルトの名無しさん (ワッチョイ 82ac-sV0L)
垢版 |
2024/03/11(月) 21:49:00.76ID:QCWizl2S0
プログラマ目指して挫折する人は、別に作りたいものがなくて文法ばかりを勉強するタイプかも。
文法は大事だけど、それ自体はあんまり役に立たないし調べれば済むことに時間をかけるのは程々に
合理的なアルゴリズムを瞬時に思いついて言語に落とし込めるかが大事で、これは経験。
2024/03/11(月) 22:16:42.73ID:lga6QF6v0
質問サイトとかで「どうすればいいですか?」みたいなのはちょくちょくあるけど「どうなればいいの?」と返したらまともにこたえられないのもよくある。
問題の解法を構築してプログラムの形に落とし込むのが大事だというのはそりゃそうなんだけど、大前提として解決すべき問題が何であるかを認識 (発見) しなきゃならなくて、そこんところで躓いてたら助けるのも難しい。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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