- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
私は、30代の男性です。 私は、『図解C言語 ポインタの極意』をオススメします。 (柴田望洋さん:著 ソフトバンク社:発行) 私は、この本を読んで勉強しました。 ↓は、柴田望洋さんのホームページです。
- 参考URL:
- http://www.bohyoh.com/
関連するQ&A
- マウスポインタを追いかけてくるのを作りたい
こんばんは、インターネットの雑誌などで紹介されている、 マウスポインタを動かすと、キャラクターがマウスポインタを追いかけてくるアプリケーションがあって、 それを自分で好きなキャラクターを作って動かしてみたいと思いました。 しかし、全くの初心者のため、一体何処からどう初めていいのか分かりません。 一応、絵は描けますが、それを動かすソフト?java?フラッシュ?かどうかも分からない状態です。 詳しい方、ご教授お願いします。お勧めの本、ソフトなども紹介していただけると助かります。
- ベストアンサー
- フリーウェア・フリーソフト
- ポインタ変数とポインタのポインタ
ポインタ変数の宣言 char *a[]; をしたとき僕の中では a[0],a[1]...という、ある文字列A,B,C...の最初のアドレスを指すポインタが、配列になっているものを宣言していると理解していました。 しかしこの次に、ポインタのポインタが出てきました。僕はこれを、 ある変数を指し示すアドレスのアドレスである、と理解しました。 この2つは1つめはいくつかのアドレスを指し示すもの、2つ目は1つのアドレスを指し示すものであるとして、僕の中で異なったものであると理解していましたが、参考書「C標準コースウェア」によると プログラムにおいて、関数でポインタ配列を受け取るときchar *p[]はchar **pとしてもよい と書かれており、またその実例として、 (9-5) #include <stdio.h> void disp (char *p[],int n){ int i; for (i= 1;i<n;i++){ printf("%s\n",p[i]); } } int main(void){ char *girl[] = {"Arica","Candy","Lisa"}; disp (girl,sizeof(girl)/sizeof(girl[0])); return 0; } というプログラムが書かれていました。 ここで一気に訳が分からなくなりました。 char *girl[] = {"Arica","Candy","Lisa"}; と宣言されているため、 girl[0]はAricaという文字列の最初のアドレスを指すポインタ、 *girl[0]はAricaという文字列を直接指し示していると解釈しています。 girlは{"Arica","Candy","Lisa"}という文字列の配列の最初のアドレスを指し示していると考えました。 sizeof(girl)を使った時に不思議なのですが、 girlはどのように配列の終わりを理解しているのでしょうか? (配列の要素数を渡していない点が不思議です。) また、 disp側が受け取ったのは*girl[]であり、いくつかのポインタの配列ですが、渡したものはgirlという要素数がないポインタ1つだけです。 そして最初の疑問が出てくるわけですが、*p[]を**pと書きかえてみると、 文字列のアドレスを示すgirlという名の1つのポインタを渡すと、pという名のポインタのポインタで受け取るというのも、よくわからなくなっています。 おそらくポインタ配列に対する理解がどこかでずれているようですが、自分でどこがわからないのかわからなくなっています。 どうかご教授ください。
- ベストアンサー
- C・C++・C#
- アドレスとポインタがどうしても理解できない
C言語を独学しているのですが、どの参考書読んでも、アドレスとポインタの理解ができません。アドレスとポインタを使わなくても別に開発できるのではないかと思います。どなたか、アドレスとポインタを初心者でも分かるように分かりやすく教えて頂けないでしょうか?
- ベストアンサー
- C・C++・C#
- ファイルポインタを使ったサンプル
を紹介してください < ファイルポインタ > = tell FILEHANDLE ; ということですが ファイルハンドルを使ったものは見つける事ができるのですがファイルポインタを使ったサンプルを見つける事ができません
- ベストアンサー
- Perl
- ポインタのポインタの必要性
書物によるとポインタのポインタの使用例として「ポインタの配列」はポインタを使ってアクセスすることができます。」[*]とありますが、どうしてポインタのポインタが必要なのかがいまいちピンと来ません。 どういう場合なのかを知りたく思っています。 [*]サンプルスクリプト ===================================================== char *mnthp[3] = {/* ポインタの配列の宣言 */ "January", "February", "March" }; char **p1;/* 「ポインタのポインタ」の宣言 */ int i, j; p1=mnthp;/* 「ポインタのポインタ」にポインタの配列 */ /* の先頭番地を設定 */ /***** 例1 *****/ for (i = 0; i < 3; i++) {/* 「ポインタのポインタ」の値を変えずに */ printf("%s\n", *(p1 + i));/* 相対的に文字列を出力 */ } ==> このようなことをしなくとも printf("%s", mnthp[i]); で値を参照出来ると思われる。 ===================================================== [*] http://www9.plala.or.jp/sgwr-t/c/sec10-4.html 宜しくお願い致します。
- 締切済み
- C・C++・C#
- レーザーポインター
今までの質問のなかに、レーザーポインターの作り方がありましたが、(失礼ですが)あまり参考になりません。 用意するものと作り方を教えてください。 安全なクラスのものを作りたいです。
- 締切済み
- その他(趣味・娯楽・エンターテイメント)
- マウスポインタ
超初歩的なしつもんですみません、マウスのポインタの形を変えたいのですがどこか設定する場所があったと思うのですが、どこでしたっけ?ソフトもしくは参考ウェブはあるでしょうか。「コントロールパネル」の「マウス」以外の場所で願います。ちなみにウィンドウズ98OSです。 (だいぶ前に僕のポインタはは飛行機の形をいたように思います。)
- ベストアンサー
- その他(インターネット・Webサービス)
- マウスポインターについて ご存じないですか??
マウスポインターの ダウンロードサイト ご存知でしたら教えてください。 かわいいキャラクターのものがあれば うれしいのですが・・ また 変わったものでもご紹介ください お願いします。
- 締切済み
- ノートPC