- 1 名前:デフォルトの名無しさん [2009/02/19(木) 20:47:45 BE:302948148-PLT(56870)]
- C言語の入門者向け解説スレッドです。
教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 122代目 pc11.2ch.net/test/read.cgi/tech/1232029287/ ・C++言語はスレ違いです。 ・分からない事をなるべく詳しく書いて下さい。 ・ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること # サイズが大きい場合は宿題スレのアップローダ等を利用してください ・開発環境や動作環境も晒すと答えが早いかもしれません。 ・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 前スレ C言語なら俺に聞け(入門篇) Part 44 pc11.2ch.net/test/read.cgi/tech/1233962622/ 過去スレ makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
- 39 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 10:45:50 ]
- 久しぶりにプログラムを書いてみようとしたら、構造体やらポインタでつまずいた。
typedef struct Tag{ int member; char text[1024]; }KOUZOUTAI; メンバ変数のサイズの取得の仕方がわからん。 KOUZOUTAI Obj,*pObj; pObj = &Obj int size = sizeof(pObj->text); でいいの? (size == 1024 になって欲しい) あと、メンバ変数のアドレスを調べたい memberのアドレスを調べるには、多分、&(pObj->member)でいいと思うけど、textの方は? &(pObj->text[0])とかでいいの? それとも、pObj->text のようにするの? 普段、クラスはおろか構造体すら使わないので忘れてしまった。 どうでもいいけど、構造体ってコンストラクタを持てるんだね。初めて知った。
- 40 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 10:48:05 ]
- >普段、クラスはおろか構造体すら使わないので忘れてしまった。
>どうでもいいけど、構造体ってコンストラクタを持てるんだね。初めて知った。 そりゃあんた、言語が違いまんがな。
- 41 名前:476 [2009/02/20(金) 11:44:39 ]
- ポインタの説明が回りくどいんですが
int 型の変数へのポインタ値をしまうことのできるポインタ型変数 p が宣言される これはつまり、int ball;があったとしたら int型の変数(ball)のメモリアドレスの値(aのアドレス)をしまうことができる ポインタ*pってことでいいんですか? 日本語力とか言いますが一般人にはわかりずらいと思います int a; a は intである では無く a は int型である のほうがわかりやすいと思いますし int *a[10]; a は、intへのポインタの配列(要素数10)である。 これだと aはint型の配列を代入できるポインタとかでいいんですか? ごっちゃになってるので誰か詳しくまとめてくれるとありがたいです。
- 42 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 11:48:32 ]
- 試せばすぐ判るようなこと聞くなよ。
しかし仕事で構造体を使わないCプログラムを書いたこと無いんだが、 >>39はどういう分野の人なのかな。 あと476はもう結構
- 43 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 11:50:12 ]
- >日本語力とか言いますが一般人にはわかりずらいと思います
対象は一般人じゃなくてプログラマだからそれで良いんだよ。 >これだと aはint型の配列を代入できるポインタとかでいいんですか? よくない
- 44 名前:デフォルトの名無しさん [2009/02/20(金) 11:55:43 ]
- char score2grade(int s)
{ if(s >= 80){ return 'A'; }else if(s >= 65){ return 'B'; }else if(s >= 50){ return 'C'; }else if(s >= 35){ return 'D'; }else{ return 'F'; } } 最後の行がparse error at end of inputらしいんですが どう直せばいいのでしょうか?
- 45 名前:476 [2009/02/20(金) 11:58:46 ]
- 44さん
私の環境ではコンパイラできました たぶん他のコードでエラーがおこってるのかもしれません
- 46 名前:44 [2009/02/20(金) 12:01:21 ]
- 自己解決できました
- 47 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 12:16:23 ]
- parse error at end of input
ホンニャクすると こんだけのソースで仕事できっかよ!ゴラ
|

|