C言語を勉強するんだが、オススメの学習法/教材ってある?


>>44
そんなものなかったよ

>>55
最近取ったんだね

苦しめ

独習Cまたは標準C言語

今時どこで使ってるんだろう>C

>>49
エクスプロイト開発とかマルウェア開発ではまだ使われてるよ
併用だけど

die(1)

c#は結構直感的だから
まずはクラスとか調べてみると良いかもな
gptとかで簡単なサンプル作ってって言えば例を挙げてくれるし

UnityはC#で文法が似てるだけの別物だしUnityはGUIの使い方の方の習熟も大事だからCを勉強してもほぼ無駄だろ

なんでいろんな言語があるんだろ
無駄だよな




Cにもいろいろあって
C+
C++
C#
のどれ?

まず両腕をCの形にします

OSS見ればわかるようにマクロと関数ポインタの地獄です

AIに丸投げはまだ早いの?
インフラ屋だけどシェルくらいならサッと頼んで作ってる

俺Unityで最初の画面で四角いブロックを回転させたことあるけど?

チャッピーに聞け

paizaなんかで簡単な問題を解いてくのも良いかもな
ポインタはゲーム改造とかしてると理解が早いんだけどね

最近の基本情報は共通テスト用の謎言語で受けるから
メッチャ易化してるよね

>>65
あれってBASICじゃないのか?

>>97
違うよ

>>97
日本語対応言語DNCL(共通テスト手順記述標準言語)

『はじめてのC』

AI知らない人?
勉強する必要ないだろ

>>70
AIメッチャ嘘吐くぞ
ちゃんと見極めてチューニングしないと使えん

>>73
別にCの初学くらいでつくような嘘もないやろ

>>70
AIは嘘教えるし、基礎を知らないと質問の仕方もわからんぞ

Cって言っても横についてる記号で難易度全然違うのでkwskしてからまたおいで

K&R

AIはウソばかり

得意な言語で自分で書いてAIに変換してもらえよ
得意なのがあるなら




真面目な話アセンブリ
シミュレータでメモリの書き換わりを観察しながらやればポインタは怖くなくなる

共通テスト用の謎言語を習得してるはずだから
それを変換してもらえ

しねは言い過ぎ

まだカーニハン&リッチーとか通じんのかな

世の中には二種類の人間がいる
ポインタが理解できる優良種と理解出来ないゴミだ
後者に選挙権なんか与えてるから民主主義がダメになるんだよ

>>86
ポインタなんて普通に使ってるが
あれは理解できるもんじゃないぞ
ある意味自然言語に近い

エロい画像が入ったビットマップデータを扱えばポインタなんか秒で理解できる

でも、基本情報持ってんなら
C言語のバリエーションの違いくらい確認しようもあるだろ

Linux入れてタダでgnuコンパイラ使うとか大学生は今でもやってんのか

今更勉強する意味あるの?AIに取られんだろ

Rustじゃなくて?

素人がCなんてやったら脆弱性を作り込むぞ

Amazonの子供向けプログラミング学習CM見ると毎回笑っちゃうんだが

AIが一瞬で組めるプログラムを人間如きが今更学習とか暇つぶしかよと笑

デザインとかデジタル系の専門行った人達も可哀想だなって思っちゃう

AI関係なしに可哀想なのはeゲームとかYouTuberの専門学校行った人達


BNF読んでCコンパイラを実装すりゃ理解できるだろ

dxライブラリで絵を動かす
ゲーム作れそうならそれでもいい

新たに自然言語覚えるより簡単に覚えられるじゃん

AIでいいだろ
オレはRustをAIに教えてもらったぞ

C言語の先生を時給5000円で雇う

ポインタは配列のショートカットでしかなくて
パソコンのメモリ管理が配列でアセンブラ操作がポインタだから、そういう仕組みだと教えないから難しいだ

AIに聞けよ…




アセンブラ操作って初めて聞いた
アドレス操作の間違いだろうが

>>112
アセンブリ言語はレジスタ操作の命令セットなので
アセンブラは命令によって操作が繋がる

うわっC#だったんかキンモー

組み込みでもやるんか?

ポインタと構造体理解出来たらあとは楽勝
ポインタが最初の壁

聞く時点で才能ないよ

今ならchatGPTでいい

>>119
プロンプトエンジニアリングが最強だな

geminiに聞いたほうがいいぞ

linqでlistやdatatableを操作できる喜びを早く覚えろ

copilotさんは有料バージョンでは優しいぞ

見えないだけで同じことしてるからな
ポインタって呼び名忘れてアドレス指定していることさえ分かりゃ大したことはない

初めてのC

カーニハン&リッチー

ポインタのアドレスを指すポインタを参照して〜
俺はプログラムを諦めた

ぶっちゃけ一番難しいのは配列なんだよね。ポインタが本来の操作で配列はショートカットなんだよ。

変数と配列を似たもんと教えるのがよくない。変数という概念があって、ポインタを使うことで連続的に扱えて
そのショートカットを配列と読んでるだけ。

でも、自称高級言語だから配列という抽象しました!で、沢山の人を苦しめた。

だから、リストという似て非なる概念が生まれるわけやなw本来の正しいデータ構造しての抽象


>>130
機械語自分で書いた経験ありそう

>>134
というか K&R読むと配列にめちゃくちゃページ割いてるんだよね。それの受け売りや

>>130
そして構造体か

ポインタってマシン語を理解できてれば簡単?




>>132
たぶんアドレッシングの概念知らないとマシン語は理解できないだろ
おまえはもうポインタを理解している

ビットマップを読み込んで1ピクセルずつ加工するみたいなプログラムを掛けば訓練になりそうだけど、cだとウインドウ作ってビットマップを表示するだけで大変なんだよな

C言語とか人間の仕事じゃないのにまだ残ってるのおかしいよね

CとC♯はバイクで例えると陸王とNC700ぐらい違う

BASICとアセンブリ言語とC言語しか知らない
C++は触りかけたけど構造化とか難解でやめた

Cの躓きどころはポインタだが、C#でポインタ意識することなんてほぼないし全くの無駄

ポインタとか配列はどんなふうにデータが並んでるかがイメージできれば理解できるんちゃう?

Cの進化形はC++ であって
C#ってJSから進化したって言った方が近くないか?

俺は基本情報をCASL2で取ったけど表計算で取ったのか?
ポインタから逃げられず頭沸騰しながら勉強したわ

他の言語使えてるなら大丈夫だろ

確かにCのあとにC#やるとポインタ使えないことに苛立つからC#から学んだほうが良いかも

Unity使うならC#でしょ、DLLとかゴリゴリするならともかく
なのでここで色々言われてるポインタなんて即刻忘れていい

とりあえずC++使う必要があるのでないならC学ばなくていいんじゃね

というかC++でさえ、もはや記号的意味しかほぼ残ってないな。
ポインタ操作をみかけたら逃げるのが一番だなw

初心者本読んで……で、次何すればええん?ってなるわ
WindowsAPIとか連携で教えてくれた方がいいわ

どの言語使おうが関数の名前の取り扱い方とか見てりゃ嫌でもポインターの概念に至る
コンピューターの情報即ち2進数の配列
そんでコレへと繋ぐアドレスも2進数の配列
エブリシング2進数の配列

2進数の配列をどう解釈するかが異なる点においてポインターと変数の概念があるだけ(´・ω・`)


[]は配列じゃなくて演算子というのを理解すればポインタは簡単だけど
そこまで行くのは難しい

C言語なんて中卒のゴミクズでもマスターできる

言語仕様は難しくないけど実際のコードは初見じゃ意味わからない

全部AIにやらせる




学ぶ姿勢としては”難しい”と”面倒くさい”を履き違えないことだね

苦しんで覚えるやつ

全部ChatGPTに聞けばなんとかなる

Unity6かそれ以前かで全く別の言語というくらいの違いもあるわけで、AI使うならUnityのバージョンを指定しないと使えないコードが出てくるぞ(これは予想だが)

segmentation faultの原因がきちんと解説されてる本だな

*や&を付けたり付けなかったりっていうのが紛らわしい

int i iがint型の入れ物
int *i 指し示す先が
int型の入れ物
x=a aという箱の中の数字をxに代入
x=3+2 右辺の計算結果をxに代入 
同じ記号でも複数の使い方があるのが判ると早いかも

2時間ぐらいアセンブリの基本やったほうが結局近道な気がする
基本的なところだけなら難しくないしポインタやら理解しやすいしC言語すら便利だなと思える

Cの文法わからん問題は今だとLLMが教えてくれそう

CってAIでも苦手なイメージあるけど

ゲーム専門学校でCのプログラミング講師してたことあるがポインタを教えるときは方眼紙を用意して説明してたな

マスの中に普通の数字を書くか別のマスの座標を書くかみたいな感じで、そこから連続したマスで配列を説明したり、文字列の最後にヌル文字を入れる必要性とか教えてた

実際のゲーム開発でも初代プレステの頃だとメインメモリ2MBで方眼紙にメモリマップ書いてたりしたからな


”初めて読むMASM“あたりがいいかも

そのものズバリ「プログラミング言語C」って本があるから買いな
あれが教科書だから

アセンブリ言語を学んで次にcを学ぶと簡単便利さに感動するからその作戦でいけ

デニス・リッチーのほうは10年くらい前に亡くなったけど
ブライアン・カーニハンはまだ生きてるよね
「The C Programming Language」
の初版の原書をコレクターズアイテムとして持ってたら良いんじゃないかな
俺は2版の原書しか持ってない

「C言語」と言った時に、C99の規格制定から既に25年以上経っているのに、未だにC89で止まってしまっている人が多いのも問題ですね

>>196
SRAM領域少ないマイコンだとか配列宣言で領域細かく指定しとかないと領域超えちゃうことあるんよ(´・ω・`)

まあ昔のCPUは命令文少ないからアセンブラ書くのも16進書くのも手癖でやれるみたいなのはあり得るのか

>>198
マイコンとかだとCPUによって命令セット違うからそのCPUの命令セット表用意して アセンブラ書くでしょ?

>>203
マイコンだとあとレジスタの各ビットがなんの役割なのか見ないといけないから
レジスタ表もせっとで見るでしょ(´・ω・`)




>>206
あとマニュアルにない問題があるからエラッタ表も目を通す必要がある(´・ω・`)

俺は生きる!

開発環境を手に入れてc言語を書いてコンパイルして動作確認の順で覚えればええよ(´・ω・`)
gnuとかmakeファイル利用してでええんじゃないの?(´・ω・`)
gnuplot なんかも入れておくとグラフによる数値の視覚化とかできて勉強によいよ(´・ω・`)

>>200
c言語でopenglとかも動くから3D描画とかもでけるからやってみ(´・ω・`)

>>201
JPGとか表示させるだけで、いちいちBitmapに変換して、とか必要じゃなかったっけ?
C#なら画像データの構造なんてどうでもいいのにな

>>222
3Dで描画するならほとんど座標データだし画像はテクスチャとかで貼り付けように使うけど
わかりやすいフォーマットに変換してつかえば何ら問題ないよ(´・ω・`)

文字列操作とメモリ割り当て、くらい覚えたらあとはどうにでもなるような
再帰関数とかもやるなら、でもまぁそんなに難しくない

>>202
その2つがC言語でのバグの主な発生源でどうにもならない点じゃないですかね?

>>207
無限ループしない仕組みとか whileとかであるでしょ?(´・ω・`)

>>207
2バイト文字の扱いがデフォじゃないのがややこしいだけじゃないの?
そこがややこしいんだけどさ

>>221
intelとsparcで悩んだ記憶はあるな

とりあえずc#を使うための勉強だったら いきなりc#でいいでしょ

あと機械語に近い領域より最下層の FPGAなんか だと メタステーブルも考慮しないといけなくなる(´・ω・`)

Gemini CLI今ならタダで使えるから入門者用教材と問題作らせろ

はまちも最近は190円皿だしな

使ってれば勝手に身につくから勉強する必要ないぞ

あとシリアル通信覚えておくと色々便利やよ(´・ω・`)
端末画面でデータ数値をdumpして観測したりでけるし(´・ω・`)

「初めてのC」で勉強したわ

シリアル通信でシミュレーター用の専用コントローラとか作れるから便利だよ(´・ω・`)

はじめてのC



出典:https://greta.5ch.net/test/read.cgi/poverty/1753867287/

新着記事一覧
未分類
TKをフォローする
プログラミング速報

コメント