C言語なら俺たちに聞け パート0001

1デフォルトの名無しさん2012/07/07(土) 17:15:26.10
なんでも聞きなよ

523デフォルトの名無しさん2016/09/07(水) 04:19:21.31ID:OeU2hxT4
>>522
そのイメージがわからないから、コードでいいので具体例を示してくれない?
すごい単純なので良いので。
本当にイメージ出来ないんだ。

524デフォルトの名無しさん2016/09/07(水) 04:51:02.27ID:rkt8kSNa
>>523
イメージがわからないけれど、無意味とは判ったのですか。。。

525デフォルトの名無しさん2016/09/07(水) 06:06:44.59ID:WnjFqmId
ひょっとして
「インスタンスには関数ポインタじゃなくてクラス定義へのポインタを持たせろよ」
的なこと?

526デフォルトの名無しさん2016/09/07(水) 07:38:40.63ID:zmxBwCSk
ふつう、インスタンスが違っても関数の定義は一つなので、インスタンスのポインタだけでいいよね。

527デフォルトの名無しさん2016/09/07(水) 07:38:43.48ID:9ei6Qh2k
構造体に関数ポインタを持たせれば、
インスタンスごとに関数の実体を変更できる。
C++でのオーバーライドに相当する使い方。

というのはどうかな。コード示せなくて悪いけど。

528デフォルトの名無しさん2016/09/07(水) 12:48:44.31ID:iiQuAO1E
普通にメンバ関数なワケだが

529デフォルトの名無しさん2016/09/07(水) 12:58:06.08ID:sjjNPEW0
ip->func(ip, ほかの引数...)
仮想関数を実現するときぐらいで静的に確定してるなら

func(ip, ほかの引数...)
で十分だよね

530デフォルトの名無しさん2016/09/07(水) 13:56:17.35ID:8SeVjemL
そこで>>510になるわけやね

531デフォルトの名無しさん2016/09/07(水) 15:38:13.08ID:9ei6Qh2k
>>530 を見るまで >>510 の意図を把握できなかったよ。
そういう意味だったのか。

532デフォルトの名無しさん2016/09/07(水) 17:47:11.67ID:WnjFqmId
ip->func( ip)
に対応するのは
func_of_some_class( ip)
だよ。ネームスペースが違うんだよ。
自分がそうしないから無意味というような考え方はあまり楽しくないと思うよ。

533デフォルトの名無しさん2016/09/08(木) 07:41:02.42ID:3Ilyk05I
Cなんだから、単純に構造体に識別子を持たせるだけでいいね

534デフォルトの名無しさん2016/09/08(木) 13:59:52.33ID:DkcrHcSi
>>507
まだ見てる?
func_of_some_class( obj)
よりは
obj->func( obj)
の方が嬉しいだろうけど、関数が多いと *obj が大きくなる。もう気づいてるよね?
それが問題になるようなら関数ポインタのための構造体を1個だけ用意して
some_class . func( obj)
という方法もある。でも、あまり嬉しい書き方ではないだろうね。
そこで、この構造体を指すポインタを *obj に入れて
obj->f->func( obj)
みたいな感じでどうだろう。これなら *obj の大きさはポインタ1個分増えるだけだし
obj->func( obj)
と同様にコードの再利用性も高い。まあ、C で簡単にやりたいなら多少は妥協も必要だけど。

535デフォルトの名無しさん2016/09/08(木) 14:27:27.18ID:bBLHyk+n
getsって危険な関数って書いてあったけど
putsとputcharって、危険ですか?

536デフォルトの名無しさん2016/09/08(木) 14:40:32.90ID:4cuZJI/Y
>>535
包丁と同じくらい危険だ慎重に扱え

537デフォルトの名無しさん2016/09/09(金) 15:30:42.88ID:psvqqBYg
すまない、ちょっとお尋ねします

debian lenny なんつー古い環境で開発せざるを得ない中、C++で「unsigned long long」型を使おうとしてるんだけど
16ビットずつシフトさせていくと、32ビットを超えた部分が消えてしまう

a = 0x00000000ffffffff;
a << 16;
→ 0x00000000ffff0000

こんな感じ、本来なら0x0000ffffffff0000になるはずだが…
環境変えろは分かるんだが、以前のgccでそんなバグの事例があったかどうかが知りたいです

538デフォルトの名無しさん2016/09/09(金) 15:31:49.25ID:psvqqBYg
a = a << 16;

のミス

539デフォルトの名無しさん2016/09/09(金) 16:12:01.48ID:6+5PcORv
>>537
ULL付けてみては?

540デフォルトの名無しさん2016/09/09(金) 16:22:48.10ID:RCn4M+As
>>537
配布済みパッケージならgcc 3.4, 4.1, 4.2, 4.3があるけど
少なくても 4.3.2 にはそんなアホみたいなバグは無い
http://ideone.com/qN9OJV

とはいえdebian lennyだろうと好きなバージョンのgcc突っ込んで使えばいいと思う

541デフォルトの名無しさん2016/09/09(金) 16:42:47.15ID:wq6Y1YQc
>>539
原因が分かりました…
画面にprintf出だしてたんだが、0x%016x にしてたんが問題やった
0x%016llx でちゃんと表示された!コードら正しかった!

お騒がせしました

542デフォルトの名無しさん2016/09/09(金) 16:43:32.39ID:wq6Y1YQc
コードは、のミス

というオチ

543デフォルトの名無しさん2016/09/09(金) 16:44:34.37ID:wq6Y1YQc
gdbも使えない環境なのはきついね…
gccだって指定されてるから変えらんないのですわ

544デフォルトの名無しさん2016/09/09(金) 17:28:48.58ID:EcclX7iE
>>541
いかにも「うっかり間違えそうな人」が書いた投稿だね。
よほど慌ててるのか。

cppcheck を試したらどうだろう。
printf() の書式文字列と引数の型の一致もチェックしてくれるよ。

545デフォルトの名無しさん2016/09/09(金) 22:50:01.23ID:YD15XtYf
>>544
俺です
たしかにちとパニクってしまった一連の流れではある

まぁこのあとにディストリビューション更改が決まってはいるので、できうる限り俺が主導権握って
いろいろ決めてしまおうかと思ってる

546デフォルトの名無しさん2016/09/24(土) 00:27:12.41ID:V/nU9HG+
【ワカヤマン】C言語プログラミング能力認定試験 [無断転載禁止](c)2ch.net
http://hanabi.2ch.net/test/read.cgi/lic/1454165737/

547デフォルトの名無しさん2017/02/13(月) 13:19:57.17ID:zKvRiyms
int tensu[3]

for(i = 0;i < 3;i++)
scanf("%s %d %d",tensu[i],tensu[i],tensu[i]);
printf("%s %d %d", tensu[i],tensu[i],tensu[i]);

超初心者です
配列がわかりません
文字列を混ぜる場合、どうすればいい?
田中 59 46

548デフォルトの名無しさん2017/02/13(月) 18:24:09.42ID:qWBqE6jZ
char namae[3][128];
int tensuu1[3], tensuu2[3];
for(i = 0;i < 3;i++)
scanf("%s %d %d",namae[i],tensuu1[i],tensuu2[i]);
printf("%s %d %d\n", namae[i],tensuu1[i],tensuu2[i]);

549デフォルトの名無しさん2017/02/13(月) 18:24:30.93ID:qWBqE6jZ
char namae[3][128];
int tensuu1[3], tensuu2[3];
for(i = 0;i < 3;i++)
scanf("%s %d %d",namae[i],&tensuu1[i],&tensuu2[i]);
printf("%s %d %d\n", namae[i],tensuu1[i],tensuu2[i]);

550デフォルトの名無しさん2017/02/14(火) 10:45:01.92ID:OJnhURbN
ありがとうございました

551デフォルトの名無しさん2017/02/21(火) 13:48:04.12ID:xcI3fiLi
int lang[3][2]
hound dog
to zu
no nein

2次元配列だけど、scanf使ってこんな感じで
入力したいけど、どうすればいい?

552デフォルトの名無しさん2017/02/21(火) 20:50:18.85ID:5LKZ7kHG
>>551
scanf は使うな、以上!

553デフォルトの名無しさん2017/02/21(火) 20:59:16.35ID:mvy681QG
intの配列に文字列を入れる?

554デフォルトの名無しさん2017/02/22(水) 13:18:23.31ID:CP6clVVD
察しろよ

555デフォルトの名無しさん2017/02/28(火) 06:13:03.57ID:v3f7r1+L
C言語でゲラフィック液晶動かしてみたいんだが、簡単に動かせるツールみたいなのある?

556デフォルトの名無しさん2017/02/28(火) 11:35:55.45ID:VXdjceYe
                   ___
             ♪ ∩/ || ̄ ̄||♪ ∩∧__,∧
               _ ヽ|.....||__|| 7 ヽ( ^ω^ )7 ゲラフィック♪
               /`ヽJ   ,‐┘/`ヽJ   ,‐┘   ゲラフィック♪
| ̄ ̄\三  / ̄ ̄ ̄/  ´`ヽ、_  ノ   ´`ヽ、_  ノ
|    | ( ./     /      `) ) ♪    `) ) ♪

557デフォルトの名無しさん2017/02/28(火) 11:50:53.30ID:LbkfB2Bz
ロボットアーム的なツールは探せばあると思う

558デフォルトの名無しさん2017/02/28(火) 12:51:03.03ID:lnb6cxke
DENSOの奴はC言語のインターフェースあったかな・・・

559デフォルトの名無しさん2018/01/20(土) 13:37:03.52ID:5zEZap2N
tes2

560デフォルトの名無しさん2018/02/16(金) 06:30:38.61ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

561デフォルトの名無しさん2018/02/21(水) 11:43:01.59ID:8XpPyJEp
デバッグで初期化してない変数の値見ると
でたらめな値が入ってることあるけど
zaifの2246兆バグもそんな感じなの?

562デフォルトの名無しさん2018/02/21(水) 13:22:13.33ID:zwuXHePG
あっちでそんな質問にための質問してるのがいたが
教師無し学習中のAIっぽ

563デフォルトの名無しさん2018/02/21(水) 21:24:06.47ID:d98p0ZVh
>>561 その可能性はない、とは言えないね。
未初期化領域からの読み出しは「未定義の動作」らしいから、
口座に多額の振込がされてもANSI規格には反しない。

564デフォルトの名無しさん2018/02/21(水) 22:03:57.23ID:MfDw9yMS
ここ再利用か?

565デフォルトの名無しさん2018/02/22(木) 06:21:35.48ID:WzMowRZZ
1年近く放置されて沈んでたのが、たまたま上がってたんで、
質問する人と答える人が現れたという程度じゃろ。

最近「俺に聞け」の145も立って機能してるし。

566デフォルトの名無しさん2018/04/13(金) 20:24:37.84ID:qQRD8JpH
あのお、どのレベルまでいけたら初心者脱出=プロとして食っていける、
なんでしょうか

567片山博文MZ ◆T6xkBnTXz7B0 2018/04/13(金) 20:38:22.39ID:meZ//aXI
大いに世の中に役に立つソフトウェア、もしくは高い値段が付いてよく売れるソフトウェアが作れればプロだ。
C言語のみに限定する話ではないし、色々な選択肢はある。高い技術力は必ずしも必要ではない。
ゼロからの製造よりも組み立ての方が良質になる。個人の技術力では、我がソフトのカラスンポくらいのものが作れれば十分だ。

568片山博文MZ ◆T6xkBnTXz7B0 2018/04/13(金) 20:55:06.99ID:meZ//aXI
開発段階では、訳のわからないことになるかもしれないが、現在のコンピューターのシステムは、
管理者権限がなければ、そんなに簡単には壊れないので、大いに試行錯誤するとよい。
情報科学や計算機科学の理論・知識があれば、試行錯誤の手間と時間は削減できる。

569片山博文MZ ◆T6xkBnTXz7B0 2018/04/13(金) 21:01:52.63ID:meZ//aXI
だからこそ、皆さんには大学へ進学し、資格を取得することをオススメしている。

570デフォルトの名無しさん2018/04/13(金) 21:47:33.22ID:EOEX1zZI
資格なんかに頼らなくてもいくらでも勉強できる
資格はレベルの低い大学を出た人がレベルの低い会社に入る時に有効になる場面があるかも
といった程度

571デフォルトの名無しさん2018/04/13(金) 21:48:41.88ID:EOEX1zZI
>>566
初心者の次がプロですか

572デフォルトの名無しさん2018/04/14(土) 01:17:04.70ID:dSQ5MB/j
YouTube にある、セレブエンジニアの小松和貴の動画を見れば?

プログラミング未経験者が、月50万円を稼ぐ方法!

573デフォルトの名無しさん2018/04/14(土) 03:11:51.59ID:lnTeyTPJ
>>566
他人が書いたソースの「あらゆる」バグを見つけて
原因も治し方もすべて解説出来ればOK

新着レスの表示
レスを投稿する