**pはどんな意味ですか?

C言語 No Comments »

**pは、ポインタのポインタという意味です。

通常のポインタ(*p)は、アドレスをもっていて、その参照先の値を表示します。

ポインタのポインタは参照先の参照をして、その値を表示します。

例えば以下のようなプログラムを考えてみましょう。
char str[] = “Hello”
char *p;
char **pp;

p = str;
pp = &p;

上記のプログラムを実行した場合は主記憶装置は以下のようになります。

番地 値
100 str:H
200 e
300 l
400 l
500 o

1000 p:100
2000 pp:1000

ppがもっているのはpが格納されている番地です。pがもっているのはstrが格納されている番地です。

**ppとした場合は、pの参照先を指すので100番地の値(str)を指します。
*ppとすると、ppの参照先を指すので1000番地の値(p)の100番地を指します。

資格の学校TACの情報処理・シスアド

Java テクノロジーの広い知識を証明する認定資格

void main(void)をvoid main()で書いていましたがvoidはなくてはダメですか?

C言語 No Comments »

voidはなくてもかまいません。

voidは引数がありませんよーということをプロトタイプ宣言しているのです。

void main()はvoidを省略しています。

いちおうコンパイラは省略してもvoidがあると判断してくれますが、

他のコンパイラやOSの移植するときはvoidがないとエラーになることもあります。

なるべく書いたほうよいでしょう。

資格の学校TACの情報処理・シスアド

Java テクノロジーの広い知識を証明する認定資格

P59のProgram4.4でa=2,a=1が表示されるかわかりません

C言語 No Comments »

Program4.3と見比べてみましょう。

Program4.4はbreak文がありません。

だから・・・

case 3:
printf(”a=3\n”);
case 2:
printf(”a=2\n”);
case 1:
printf(”a=1\n”);

が実行されます。switch-caseでは、break文が出てくるまで実行されます。Program4.4ではbreak文がないので、最後まで実行されてしまうのです。

資格の学校TACの情報処理・シスアド

Java テクノロジーの広い知識を証明する認定資格

問10は5問解けた。8割以上だから大丈夫かな?

C言語 No Comments »

すごいじゃないですか!本番もこの調子でいけば大丈夫。間違えたところをもう一度見直してください。この調子をキープしましょう。ただし、怠けると勘が鈍りますよ。

資格の学校TACの情報処理・シスアド

Java テクノロジーの広い知識を証明する認定資格

Nほ求め方がまわりくどくないですか?フラグ使えばすぐの気が・・・

C言語 No Comments »

Nはタブ間隔によって、求め方が変わってくるのでこうゆう計算式になってしまうのです。タブ間隔がいつも4ならば、もっと簡単にできるのですが、汎用性を持たせると、解答のような計算式になります。設問2のように、配列にタブ位置を入れるとすっきりしますね。

資格の学校TACの情報処理・シスアド

Java テクノロジーの広い知識を証明する認定資格

本番で時間足りなくなりそうです

C言語 No Comments »

たぶん今の時点では足りないと思われます。少しずつ解くスピードを速めていきましょう!

資格の学校TACの情報処理・シスアド

Java テクノロジーの広い知識を証明する認定資格

リスト構造は配列に置き換えて考えてもいいですか?

C言語 No Comments »

うーーん、質問の意味があまりよくわかりませんでしたが、配列みたいにするとnextのポインタがありませんので、リストの挿入、削除がわかりにくいかもしれません。自分でわかってればいいんですけど。

リスト構造はポイントの付け替えによって、要素の追加、削除ができますので、その仕組みがC言語でわかっていればOKです。

資格の学校TACの情報処理・シスアド

Java テクノロジーの広い知識を証明する認定資格

プログラムが読めない。C言語を理解するコツは何ですか?

C言語 No Comments »

これはC言語だけにかかわらず、ひとつひとつ丁寧にプログラムを追ってみることです。最初は時間がかかってもかまいません。そして、読む量をこなしましょう。食事をするとき、風呂に入っていても、寝る前など。。。時間を活用して、多くのプログラムを読むことです。

資格の学校TACの情報処理・シスアド

Java テクノロジーの広い知識を証明する認定資格

C言語の問題を解くのに時間がかかります。しっかり解くのと、だいたいわかって解くのとどちらがいいですか?

C言語 No Comments »

かならず自分で答えをだしてみましょう。いきなり解説をみてはいけません。そして、1問にかける時間を決めておきましょう。30分なら30分で・・・それでも答えが出ないときは解説をみましょう。それで、だんだん速く答えられるようにしていきます。解説をみて納得したら、同じような問題はもっと速く解けるようになるはずです。

資格の学校TACの情報処理・シスアド

Java テクノロジーの広い知識を証明する認定資格

教科書のP282の13.2ですが、31-37行のブロックがないのが気になります。省略できる場合を教えてください

C言語 No Comments »

テキストのP62をみてみましょう。複数の文があるときはブロックで囲むと書いてありますね。if文はひとつの文とみなされますので、ブロックは必要ないのです。どこまでがwhile文の繰り返し部分か、よくみておきましょう。

資格の学校TACの情報処理・シスアド

Java テクノロジーの広い知識を証明する認定資格



   Designed By:  Sadh Web Directory     Sponsered By:   BrainBloggers  & Linkature

Entries RSS Comments RSS