約 3,899,726 件
https://w.atwiki.jp/nenaiko/pages/38.html
// クラスSampleが存在 // クラスSampleは関数 Funk(int)を持つ Sample A; Sample* ptr; ptr = A; A.Funk(6); // 以下3行は同じこと ptr- Funk(6); (*ptr).Funk(6);
https://w.atwiki.jp/suffix/pages/750.html
int **a; a = malloc(); このaは配列A(仮に上位配列とする)の先頭を指す。つまり、**aの状態。*aとすれば下位配列の先頭。**aならint型。 ポインタをずらすときの表現方法 a[i]もしくは*(a+i)→右側:キャッシュ効率には多少問題あり。
https://w.atwiki.jp/ryuzy2000/pages/51.html
現在グリーン(532nm近辺)の半導体レーザー素子は商品化されていないので、赤外レーザー光(808nmなど)を非線形結晶を用いて波長変換用させています。 この結晶や出力を安定化させる為の制御回路等がある為、グリーンレーザーポインターはレッドレーザーポインターよりも構造が複雑となってしまい、複雑で手間のかかる調整が必要となります。 世にある特に違法品の安価なグリーンレーザーポインターには、制御回路などが搭載されていない為、出力が変化してしまう事によりチラついてしまい、極度に眼が疲れてしまいます。 また途中に発生するIR(赤外光)を最終段でカットするなどの配慮も無いので、目に見えるよりも高い出力が発生していたりして、色々な意味で眼に危険です。 目に見えない波長と言うのは、人間の目は感知しない為、無防備のまま眼の奥底まで届いてしまうので網膜などに深刻なダメージを与えやすいのです。 信頼性、耐衝撃性などに配慮されていない為か、すぐに壊れてしまうと言う現象が用意に起こりえます。 また制御されていない高出力のタイプがほとんどな為、使用者自身のみならず、周囲にいる人の眼に危険を与えてしまう可能性があると言うリスクは考えるだけでも恐ろしいです・・・ 安物買いの銭失い・・・ どんなに安くても、目的を達成できないツールと言うのは全く意味を持ちません。 特にビジネスなどでの重要なプレゼンテーションにはやはり信頼できるブランドの商品を使いたいものです。
https://w.atwiki.jp/suffix/pages/749.html
ポインタ: int a; int *a; (int*) a; int aの場合には単にsizeof(int)の領域を持っているだけ。 (int *) aの時、aはポインタ型であり、メモリの先頭を指す。 a++でメモリ位置をずらすこともできる。 この場合、ポインタの指すアドレス番地はa+1ではなく、a+intのバイト数(=4)分ずれる。 aと表現した場合にはint *a;という意味合いなので、int型と考えてよい。 つまりは、ポインタの中身。 int型で宣言した変数のアドレスを知りたいときに aのように表現する。 int a[100]; ←可変のときに使えない int *a; ←可変でも使える。後でmallocで領域を確保すればよい。 ポインタの見方については c_pointer,http //sakurai.sumomo.ne.jp/page/c_pointerというサイトが 分かりやすいので、こちらも参考にしたい。
https://w.atwiki.jp/loria/pages/32.html
レーザーポインターレーザー光のショー、レーザー写真やライブコンサート、ビジネス、教育、プレゼンテーション、燃焼と熱の実験のための非常に重要。人々は常にレーザパラメータの発明以来、グリーンレーザーや赤色レーザーを選択することについての議論であった。 他の人が小さな赤いレーザーポインタの危険やけがを選ぶ一方、一部の人々は、緑色のレーザーポインターレーザーポインター高い視認性と安い価格を選択します。彼らは初めてのレーザーポインターを購入するとレーザーポインタに慣れていない人々のために困惑を感じるでしょう。あなたが楽しい購買経験を持つようにしたい場合は、ここで考慮すべきいくつかの提案がある。 第一に、人間は、他の色よりも緑に対してより敏感である。あなたは、星を見つめるハイキングやキャンプに行くと、他の野外活動を行いたいのであれば、緑色のレーザーポインターは、非常に明確なビジョンを提供し、実際に長距離ポイントを手助けすることができます。一方、レーザビーム、赤色レーザポインタは輝いて、明るい緑色のレーザとその範囲が制限される高出力レーザーポインター。レーザーポインターレーザーポインタービジネスセミナーのプレゼンテーションや博物館を使用する人々は、多くの場合、彼らはさまざまなタスクを実行するのに役立つために赤色レーザーポインタを選択します。換言すれば、赤色レーザーポインターをしっかり集光し、その低輝度を人間が少ない有害であることが好適である。あなたが屋内の活動に連れて行くとき、それは最も適しています。 第二に、緑色のレーザーポインターレーザーポインターと同じ出力電力で赤色レーザーポインタの価格はかなり異なっている。一般的に言えば、緑色レーザーポインターは赤色レーザガジェットよりも安価である。そのように大きなレーザは、それらの経済的状況に応じて選択することができるレーザーポインター 購入。すべての安価なレーザーポインターレーザーポインターが良いのレーザーポインタではありません、あなたの合計の注意を、値する1以上のものがあります。いくつかのメーカーは、より多くの利益を得るために低品質のレーザーポインターを生成します。セキュリティのため、非常にお勧めレーザー評判の販売店またはオンラインストア。 どちらも、ではなく、少なくとも、安全性がレーザーポインターを使用して、最も重要なことではありません。このようなレーザポインタが赤いレーザーポインターやレーザーポインターグリーンレーザーポインターを使用している人々の目に表示されません。
https://w.atwiki.jp/mopsprogramming/pages/160.html
メモリーの利用形式を説明する前に、ポインタについて触れておいた方がいいでしょう。よく、ポインタの理解が、初心者のぶつかる最初の難関だとかいわれます。簡易なプログラミング言語だと、「ポインタのような難解な概念を用いることなくプログラミングできる」などというのが売りになっています。 ちょっとまってくれよ、といいたいわけです。実は、ポインタの概念自体は全然難しくないのです。ただのメモリーの地番のことなのですから。ここまでにも、アドレスとかポインタとかいう話はでてきました。難しかったですか?ポインタというのは、だいたい次のようなことです。 メモリーの地番 パソコンにはメモリー(RAMですね)がついています。それは、数百メガとかギガとか、かなり広大な領域になっています。単位はバイトです。このメモリーの場所を特定するのに1バイト毎に、数字を割り振っているのです。つまり始まりが0、1バイト上が1、さらに1バイト上が2、という風にです。普通、番号が若い(小さい)方を"低い"(low)といい、だんだん上に数字が増えて行きます。数値が大きい方は高い(high)といいます。低い方のメモリーは、だいたいOSが専用しますので、アプリケーションは、それより高いところを使わせてもらうことになります。 日常に溢れる"ポインタ概念" このメモリーの場所を特定するために打たれた番号がアドレスとかポインタとよばれるものです。メモリーに何かを記憶したとしても、それを取り出せなければ意味がありません。このポインタをつかって、格納した場所を特定して引き出すわけです。例えば、ロッカーがあるとしますね。ロッカーをメモリーと思ってください。まず、空いているところを捜して(個人占用のロッカーじゃなくて、駅とか銭湯とか、あと公共のプールの更衣室とかにあるやつですよん。知らない?こまったな...下足札じゃ、もっと知名度ないよなあ。クロークとかの番号札にしてもいいです)どこかに決めます。このとき、ロッカーの番号がありますよね。これが格納時点で得たポインタ。そしてそこに何か荷物を入れて鍵をかけます(料金はこの際無視します)。で、適当に過ごしたあと、ロッカーに入れておいた荷物が必要になったとします。まず、鍵を取り出して、番号を確認しますね。まあ、短時間なら自分で覚えてればいいんですが、普通、忘れないように、鍵に番号ついてますよね。で、その番号で、自分の荷物を入れたロッカーを特定します。そしてめでたく見つかったら、鍵を開けて荷物を取り出します。このときの、荷物がメモリーに入れた値で、ロッカーの番号が値取り出しに使われるポインタです。そして、番号を忘れないように貼付けてある鍵が、ポインタ型変数ということになります。まあ、メモリーの値は取り出してしまうことは滅多になくって、コピーして使うんですけどね(ロッカーの中身を確認するだけ)。何か難しいですか。 もしも、ポインタの概念が難しいというのなら、電話もかけられない(電話番号の概念が難しい)、郵便も出せない(宛先の概念が難しい)、集合住宅にも住めない(部屋番号の概念が難しい)でしょう。"私はこの人に電話をしたいんだ。数字に電話したいんじゃない!"とか?そんな風にいえる人の方が難しいですね。いや、まあ、力んでもしょうがありませんね。ともかく、ポインタの"概念自体は"全然難しくないのです。少なくとも、なぜこういうものが必要かがわかれば、難解というのは間違いです。確かに最近のOSは仮想メモリーとか色々複雑なことをやって(たまにバグって)ますが、そういう話じゃないですよね、ポインタが難しいって話は。 難しいのは"ポインタ型変数" でも難しいと思われているのはなぜでしょう。実は、ポインタの概念ではなくて、ポインタ型変数の扱いが難しいのです。"変数の型(type)"ですね。C言語(ポインターの王様)とかJava言語(ポインターの隠蔽)とかがthe programing languageであるため、初心者は変数とその型と値をごっちゃにしてしまうのです。って、解説とかも、ポインタの概念とかいって、ポインタ型変数の説明してますけど、まあ、概念だけじゃ説明すること少ないですから。確かに、ポインタ型変数の扱いはミスを誘発しがちですが、それでも、まず、この機構がなぜ必要かにピンとくれば、理解できないことはないはずです。 問題状況をC言語を念頭において書いてみます。うまくいったら、おなぐさみ。 ポインタ変数は、普通そのメモリの場所にどんな種類の値が入るかをつけて宣言します。4バイト整数が入るとすれば、 long*p; //long(4バイト)値のポインタ宣言 なんてやるわけです。変数の前に星印がつくのがポインタって証拠ですね。この星はlongの後ろにつけて"longのポインタである変数p"と読む方法もあります。まあ、どこかに星があればいいってことですか。つまり、変数名は"*p"ではなくて"p"なのです。星印はC言語では特別な意味を持つ(演算子)ので、変数名や関数名には使えません。さて、宣言の仕方ですが、私は変数の前につけるのが好きです。というのは、星印"*"には、"その変数に入っているアドレスの場所にある値を取る"という意味があるからです。いわゆるデレファレンスですね。つまり、pに入っている値はデレファレンスするとlong整数がとれるよ、と。デレファレンスできるんだから、場所の値のはずで、つまりポインタということになります。ポインタのポインタというのも当然あり得て、星を二つつけるだけですね。格納されている値はアドレスで、そのアドレスの場所にはやはり別のアドレスが入っており、そのアドレスの場所には何かの値があるということです。ポインタのポインタのポインタ....と、どんどんいけますが、星二つを越えて必要になることはまずないでしょう。つまり、星二つ目までは、単に人を混乱させるためのオマケではなくて、使う必要があるから準備されているのです。 ポインタはコンピュータには是非必要 じゃあ、なんでこんなポインタみたいなものを使うのか。理由は単純で、ポインタを通してしか操作できないタイプのデータがあるからです。具体的には、データを1セルよりも大きなデータの塊をまとめて扱う場合です。前回触れた、構造体やアレイもその例ですね。また、関数も1セルより大きいデータ(コード)のまとまりという意味では、データとして特定するにはポインタを使うしかありません。コンピュータというのは、データを処理するときに1セルを越える大きさをもつものを一挙に扱うことはできないのです。ですから、そのようなデータの塊を格納した変数に名前があるとしても、普通の変数と同じやり方でその名前と値そのものとを同一視することはできないのです。大きなデータ処理するときには、細かく区切って順次全体を処理することができるに過ぎません。例えば、テキストファイル中のテキスト全体を一挙に処理する場合、どうやってデータを特定するでしょう。これは、全体をメモリーの中に読み込んで、その先頭のポインタと、データの長さで特定するのです。構造体やアレイなども、データの先頭からのズレ(オフセット)でメンバーや項目要素が特定できます。結局、こういった大きなデータの塊は、そのポインタで特定するしかないのです。ですから、構造体やアレイには名前はつけられますが、その名前が意味するのは、データ領域のポインタです。構造体などを値として解釈できるようにする場合には、値であるかのように見せかけるための特別なやり方を決めなければならないのです。つまり、実際にはポインタとして扱っているにもかかわらず、値であるかのようにプログラミングできる文法をこしらえるということです。 ポインタでしか特定できないタイプのデータがあるからポインタを使う。全く、ストレートで当たり前のやり方です。これに対して、そういうのは嫌だというひとが多くなって無理に隠そうとする言語も出てきたんでしょうが、この程度なら特に無理する程のことでもないように思います。 ところが、ここから艱難辛苦が始まるのです。とくにC言語などでは。私の全く個人的な考えでは、この困難は、プログラミング言語設計者の、変数を値と同一視させようとするあからさまな努力がもたらしたものです。この同一視は、突き詰めれば、変数のタイプとデータのタイプを混同させようとする努力にもつながって行くのは明らかです。 確かに、論理的にはこれらは一致しなければならないのです。しかし、同じものではない、つまり別個の概念であるからこそ、"一致しなければならない"という規範(規則)がでてくるわけです。論理的に誤りなく考えるには、強く意識しなければならない事柄を、初心者向けの解説程混同させようと躍起になっているのはグロテスクではあります。頭で理解させるよりも、命令通り動くようにさせようということでしょうか。 無効ポインタ まず、例えば、前で、longのポインタとして宣言されたポインタ型変数pのポイントする場所に値を格納しようとして、 *p = 5; //このままだとできない とやってみたとします。これはできません。コンパイラはエラーを吐きます(多分)。なぜでしょう。ポインタpのデレファレンスしたときの値として5を代入したんだからいいじゃないか、と思われますか? でも、ポインタがメモリーの場所を意味していることに注意すれば、なぜダメなのかがわかります。pに割り当てられるメモリーの場所が、どこでも特定されていないからです。この場合、pの中身は大抵無意味な値となっています。これでは、コンパイラがエラーを吐かなかったとしても、5はどこに入るかわかりません。何か重要な値を上書きしてしまうかもしれません。 もっとも、メモリーの割当くらい、宣言のときにコンパイラが自動にやってくれればいいじゃないかと思われるかもしれません。どうせ必要なのはわかっているんだからと。ところが、longのポインタであるpのアドレスの場所に確保される領域は、ちょうど4バイトだけとは限らないのです。例えば、long*であるポインタの先には、4バイト幅の構成員をもつアレイがある場合もあるのです。ですから、必要な分を自分で確保しなさい、ということになっているのです。まあ、この点も、コードの全体を見ればわかることなのでコンパイラが自動にやってくれよ、という考え方もなくはありませんが、C言語のコンパイラはそこまでバカ親切ではない、ということです。というよりも、状況に応じて動的に対応するというのは、Cコンパイラの辞書にはありません。プログラマが初めから全体をきっちり決めていないといけないのです。そうすることによって効率的なコードを生成する、というのが、C言語系のひとつのポリシーみたいなものなわけです。 有効なポインタを得る そこで、普通は、既に確保されたメモリ領域のポインタをpに代入します。 long x; p = x; こうしてしまえば、pがポイントする先のメモリはlong整数変数xのために確保されたメモリのアドレスが代入されます。" "というのもC言語では演算子で、後続の変数のアドレスを取るという効果があります。以後はメモリの場所は既に割り当てられているわけですから、値の割り付けも普通に可能になるはずなわけです。つまり、 *p = 5 ; とやっても、今度はエラーにならず、変数xには5が格納されることになるのです。間接的な代入ですね。 ヒープ領域のポインタ 変数をもう一つ宣言するのはバカっぽいので、状況に応じてメモリーを準備する方法はないかというと、ないわけではありません。それには、malloc()という関数を使い、ヒープメモリー(単にヒープともいいます)に必要な大きさの領域を確保するのです。ヒープメモリーというのは、アプリケーションが随時使えるようになっているメモリー領域のことです。普通の変数用の領域とは別に準備されています。これをOSにお願いして使わせてもらうわけです。 p = (long*) malloc((size_t)100); これで、100の領域が確保され、そのポインタがpに格納されます。"(long*)"とかついているのは、malloc()の返す値の型が、必ずしも、long*じゃないので(Macintoshでは確かvoid*と定義されていたと思います)、型を変えちゃうんですね、"p"に合わせて。こうしないと、エラーがでるかも(忘却の彼方^^;;)。ともかく。こういうのは、キャストといいます。まあ、普通は100とか定数を使わず、sizeof()関数をつかって計算したりして、他所のコードが変わっても直しやすいようにするんですが。型も合うし。数値のキャストも要らないかも知れません(コンパイラ依存?100だと何になるんでしょ?やっぱりエラーかな。)。まあ、つけて悪いことはないですけど。初めから"void* p;"と宣言しておけば良かったですね(いいのか?)。すみません、長いことCで書いてないもんで(しかもまだ初級者)。 メモリーリーク ところが、また、この扱いが面倒(といわれている)なのです。pを局所変数として宣言しておくと、pの有効期限が切れたとき、その格納領域は廃棄されてしまいます。ところが、廃棄されるのは、pの値、つまりアドレスを格納していた場所だけであって、malloc()でヒープに確保した領域はそのままになってしまいます。また、誤ってpに別の値を格納してしまうこともあります。これもpの値を上書きするだけで、確保されたヒープ領域はそのままです。これらの事態が起こってしまうと、このヒープ領域のアドレスを保管していたのは変数pだけなのですから、もう、アクセスしようにも、それがどこにあるのかわかりません。いってみれば、ロッカーの鍵をなくしてしまったわけです。少しならまあ、それほど大きな弊害は出ませんが、みんながあちこちで鍵をなくしてしまうと、だんだん空きロッカー、つまり空きメモリーが少なくなってきます。これが、よくいわれるメモリーリークというバグです。 ですから、自分でヒープ領域を確保した場合には、用が済んだら、まだポインタを保持している間に、必ず自分で解放しておかなければなりません。ヒープ領域の解放にはfree()という関数をつかいます。 free(p); (補遺)void*の意味 malloc()の戻り値の型はvoid*と定義されています。また、free()の引数もvoid*と定義されています。 void* malloc(size_t size); void free(void* ptr); voidというのは"空"という意味です。それだけだと、無いという意味になります。free()には戻り値はありません。void*なら"何もないもののポインタ"で意味が分かりませんね。これは、"なんでもいいから何かのポインタ"という意味になるらしいです。malloc()は受け側の変数"p"にlong*という確定した型があるので、合わせる必要があるということです。free()の引数の場合は、何でもいいから何かのポインタ、という意味からして、適当にポインタを渡せば解放してくれるわけです。("どんなポインタもvoid*には自動型変換される"とかいう言い方の方が、好ましいんですかね。型通りの世界では。) ガベージコレクション(ゴミ集め) ところが、これが、複雑なプログラムになると、いつ解放していいのか、ものすごく難しくなるのだそうです。勝手に合鍵をつくっちゃって、荷物(データ)を共有しちゃってたりすることがあるのです(多重参照)。そこで、ロッカーに使用期限をつけるわけです。駅前のコインロッカーだと3日間くらい?よく知りませんが。まあ、期限が来たら一斉に整理、というのはちょっと暴力的なので、機構としては、初めに荷物を預けるときに、連絡が取れるように、住所とか、電話番号とかメールアドレスとか書かせておくわけです。そして、一定時間ごとに、「鍵持ってますか?まだ使いますか?」とみんなに聞いてまわるわけです。連絡がとれない、というか、鍵を持ってる人が誰もいない(そのポインタがどこからも参照されていない)ということがわかると、そのロッカー(メモリー領域)は強制的に空けられて、別の人がまた自由に使えるようにされてしまうわけです。この仕組みは「ゴミ集め」(garbage collection)といわれます。Javaにはこれがついているので、初心者でも安心といわれます。これでまた一歩、初心者をコンピュータの理解から遠ざけた、、、ような気が私にはするんですが、、、、表向きは、複雑でどうしようもないときに使うってことなんだと思いますがねえ。 もともと、ガベージコレクションの機構というのは、確かLispで、リスト操作についてどうしてもそれが必要(あるいは関数型プログラミング以外のことを表に出したくない?)という理由で装備されたものだったと思います。近代的開発環境には不可欠みたいに宣伝したこともまた事実でしょうが。是非必要、あるいは極めて便利、であるかどうかは、その言語の特性にもよるでしょう。PowerMopsにもレファレンスとの関係でガベージコレクションは実装されています。 インクリメントのステップ もう一つ、混乱を招くかもしれないポインタ型変数の性質があります。ポインタは普通の(符号なし)整数値であるということは、もうお分かりでしょう。ですから足し算とかもできます。ところが、例えば、前のようにlong *pで宣言したpを1増やす操作(++p)をするとpの値が1ふえたものになるかって言うと、そうはならないのです。4増えます。なぜでしょう。それは、pのポイントしている領域の値がlongで4バイト整数だからです。ポインタに1を足すと、"次の区画"の先頭に移るのだと解釈されます。ですから、char *qの++qとすれば、qの値+1になるのです。あるいは、80バイトくらいの構造体のポインタとして宣言された変数は、1増やすとポインタの値は80増えるわけです。ポインタの型指定のときに「何の」ポインターかを明示する意味は、ここにあります。重要なのは、この「何」が何バイトの大きさなのかというところだけなのですが、ともかく、型指定すれば、その型のバイト幅はコード内のどこかからわかるわけですから、アレイの計算が型通りに手早くできるわけです。 これはポインタ型変数の性質というよりもコンパイラの挙動、というか解釈方法の問題で、コンパイラがご親切にも合理的な意図を汲み取って、そのように処理してくれるということです。これで、ポインタがメモリーに順番でつけられた番号の値で、その計算はメモリー内の位置のズレ(オフセット)を計算することだ、という事実が、中途半端に隠されてしまうわけです(^^;;)。 結語 大体、基本的なところはこんなところでしょうか。以上の"ポインタの難解さ"を巡る話は、結局、ポインタ型変数を扱い、解釈する際のコンパイラの挙動が多岐にわたっているということの帰結であるように思われます。つまり、理解が難しいのはポインタの概念ではなくて、ポインタ型変数の処理法である、と。これに、C言語の関数は値を一つしか返せないので、その制限を誤摩化すために入力(引数)変数に対して出力を返せるようにするためにアドレスを使う、とかいう話になると、何それと思う人がいても無理はありません。これはもともとポインタの概念の話ではないと思いますが、アドレスを使うので関係はあります。こういう"制限のかいくぐり"が初めから必要になるような文法規則もどうかと思いますが、ポインタ(アドレス)による値の参照がまさに規則の抜け穴を作り出す局面で大いに役立てられているのは、C言語系の特色といえなくもありません。 たしかに、ポインタというのは、いわばメタデータ(データに関するデータ)であって抽象的なものであるため、これを用いればかなり複雑で柔軟なプログラムを組むことができるようになります。その点で、ポインタの取り扱いに習熟することは、より一段高度なプログラミングに移行するための登竜門である、と考えられていたふしも、なくはありません。でもポインタだろうがなんだろうが、高度なプログラミングは難しいのです。ポインタの概念が特に難解というのには同意できませんね、私は。まあ、何かあれば簡単に気は変わりますけど(^^;;)。 ヨタ話です。何となく漂っているポインタに対する嫌悪感というのは、コンピュータ科学の領域では、メモリーの管理というのは本来のプログラミングの内容であるべきではない、という固い信念があることから来ているようにも感じます。ポインタというのは、結局、メモリーを操作することに帰着しますからね。だから、避けたい、と。だから、ポインタが嫌がられているのは好都合、白い猫でも....(知らないか、このたとえ(トシがバレる))....でも、そういうもんですかね。自分がこれから処理しようとしているデータをどこかに置いたとかいうの、意識しちゃいけないんですかね。要らなくなったものは、そこら辺にポイ捨てしておけば、清掃員が片付けてくれるからいい、という感じですか。自分のケツぐらい自分で拭く自由があってもいいかなと。まあ、コンピュータを忘れられるというのが、高級言語の神髄らしいですが。すみません、これは、ここだけの話ということで。別に何かを攻撃しようという意図はありません、決して。特に、上でやや斜めから取り扱ったガベージコレクションなんかも、Mopsに限っていえばその動的オブジェクト生成のクラスデザインとかテンポラリオブジェクトの機構のせいで、なくても困らない気がしますが、Forth規格のヒープ領域確保のワードセット(オプション)を見ると、あると便利な感じですね。ヒープポインタをスタックに落とすとなると、ねえ(多分、まず大域変数に格納するでしょうが。)。 ともかく、難解なポインタ概念という表題でもって、ポインタ型変数を持つ特定のプログラミング言語の仕様の複雑さを、縷々解説されてきたことに、私達は気付くべきです。それは、Mops/Forthのような"非標準な"言語に多少触れれば、すとんと腑に落ちることがらであるのに。 前へ 次へ 目次へ トップページへ
https://w.atwiki.jp/suffix/pages/751.html
文字列や配列操作、構造体を扱う等、様々場面で有効に利用できる。 関数の引数としてポインタを渡すときは、 関数によって、関数外の変数を操作(変更等)したいとき。 尚、関数によって勝手に値を変えられたくない場合には その変数に対してconst宣言すればよい。 また、関数の引数としてポインタを渡す場合、 それが配列であることを強調する場合には p[]のような形で渡しても良い。
https://w.atwiki.jp/suffix/pages/754.html
char *pt; char string[] = "Test"; pt = string; while(*pt != \0 ) { pt++; } のようにポインタをずらした後は、printf("%s",pt);としても文字列は指してないので 注意。また、*strはポインタ型でないので、 char str[] = "Test"; while(*str != \0 ) { str++; } のようにずらすことはできない。
https://w.atwiki.jp/loria/pages/12.html
レーザーポインターは、何年も前から出回っている。私は、彼らがこの新しいホットアイテムだったし、すべてのクールな子供たちがそれらを持っていたか中学校にいたとき、私は実際には覚えています。今、彼らはとても普及していないが、彼らはまだ彼らの用途があります。 レーザーポインタは、ビジネスの男性に最適です。あなたは、スライドショーや他の任意のもので、基板上の特定のものを指摘するプレゼンテーション中にそれらを使用することができますレーザーポインター グリーン。 レーザーポインタは、学校でもまだ多少人気がありますが、通常、彼らは他の同級生の目にクラスやポイントを破壊するために使用されています。このような理由から、多くの学校は、学生がレーザーを持っ禁止している。 レーザービームは、必ずしも危険ではありません。それが誰かの目に指摘されている場合は、それが目のかすみ、睨むとスポットを見て人を引き起こす可能性があります。これらは一時的なものであるが、まだ避けるべきである。 レーザーポインターとさせていただきますダメージの量は、使用電力のクラスと量に大きく依存する。通常より多くの電力より多くのダメージは、それが原因となります。レーザーポインターのほとんどはそれが持っているどのくらいの電力を伝える警告ラベルを持つことになります。 あなたはまだしたいか、一般的な使用のためのレーザーポインターが必要な場合は、いくつかの任意の正規の電気店で見つけることができ、平均レーザーポインターではありませんがあることを見つけることができますレーザー指し棒。彼らは常に高出力レーザーとのポインタである、いくつかのレーザーポインターは、電力わずか700mWまで、私たちの現実の生活に近い世界でおそらく最も強力なを提供します。彼らは、やけどの原因となるプラスチック、破裂風船を溶かし、でも彼らはオープンバーのマッチ、タバコ、壊れやすい材料を照らすことができます。 現時点では、私たちのほとんどは、緑のレーザーはその小さなビーム径と高出力のために有名であることを知っている。これは、レーザーポインター選手の多くに愛されています。しかし、それらのいくつかは、緑色のレーザーを使用すると、頻繁に演奏しないようにする必要がありものを知っている。緑色レーザビームは、どこにでも見ることができるよりもより強力で明るい作成する5000mwレーザーポインター。ためにも緑に固有の人間の感度が、これらのビームは、ほぼすべてのオブジェクトを通過するように偉大な破壊力を運ぶヒュージ可燃性。彼らは暗闇の中で十何百マイルを旅行することができます。グリーンレーザーポインターのすべてのこれらの特性は、唯一のSF映画で見フェロモンを作成思える。実際には、これらのレーザーは、一般的に敵を混乱さと威嚇する星や米軍事作戦での研究に天文学者によって使用されます。 だから、私はレーザーポインターのファンである人を、警告ここにいる、あなたは常にレーザーの異なる種類の危険地帯を知っている必要があります。
https://w.atwiki.jp/vippointer/pages/48.html
利用者の声 利用者の方で何か一言ございましたらご記入ください。 VIPポインタに変えたとたん宝くじは当たるは、彼女は出来るは童貞は抜け出せるは最高です。職人さん達ありがとう! -- 名無しさん (2006-04-10 19 05 29) ちょwww盛り上がった割にはアクセス数少ないwwwポインタカワイス職人さんGJ -- NANANAshi (2006-04-29 13 57 38) いままでマウスポインタは好きではなかったのだがこのVIPポインタは一目惚れですぐに利用しました。本当に出会えてよかったです。もう手放せません。 -- 名無しさん (2006-05-22 16 45 09) このマウスポインタにしたとたん、胸のバストが急に大きくなりました!これで貧乳に悩むことがなくなりました。VIPポインタを作った方々、本当に感謝です! -- 28歳 主婦 (2006-07-01 18 32 53) あの時、トムがこれを勧めてくれなかったと思うとゾッとするわ。今では毎日このポインタを利用して、あんなことが起こらないようにしてるわ。 -- 世界丸見えに出てくる人 (2006-08-12 03 06 02) これはいいよねぇ鍋としても使えるし死ぬ前に出会えてよかったわ -- 84歳山田トメ (2006-11-21 17 17 06) ANIめーかーの「About」タブで「TAB」キー→スペースキーの順に押すとアニメGIF保存ができるようになります。 -- 垂れ込み屋 (2006-11-28 13 17 21) これは凄いのう。ごっそりいただいたのじゃ -- ザクソン (2007-01-12 02 13 32) 非常に邪魔だが愛くるしい -- 名無しさん (2007-03-09 19 22 06) このポインターは実にクールだね。ジェニファーも「こんなに素敵なポインターは初めてだわ。あちがとうマイク」なんて言われて鼻高々だったよ。今度はボスにも勧めてみるつもりだ。 -- マイク スミス (2007-03-22 13 50 12) すごい可愛いw -- すずりん (2007-04-18 18 39 04) 仕事はリストラされ、そのせいで嫁にも離婚届をつきだされ・・・そんなときにこのポインタに出会いました。そのおかげで友達からつぼを紹介されました。200万しましたがつぼで幸せになれるらしいです。やはりこのポインタのおかげです。本当にありがとうございます。 -- 名無しさん (2007-04-25 00 07 11) これはギザ可愛ゆすw 私はVipperじゃないがとにかく気に入った -- 名無しさん (2008-12-30 03 01 53) このポインタにしたとたん彼女ができました。 ほんとに感謝してます!! -- 名無しさん (2009-08-06 23 00 13) ポインタ導入したところDT卒業できました。 本当にありがとうございました。 -- 名無しさん (2010-03-07 18 04 53) これはいいポインタVIP ありがたく使わせてもらう -- 名無しさん (2010-05-31 20 16 48) このポインタで画像クリックしたら、ミクがウィンクした……そんな気がした。 ほんとに感謝の気持ちでいっぱいだ -- 名無しさん (2010-08-12 00 53 29) DLさせて頂きました。どれもかわいくて選ぶのに悩みます。 職人さんたち、管理人さん、どうもありがとうございました(・∀・) -- 名無しさん (2011-01-18 00 23 17) 生死の境を彷徨っている時にこのポインタを見つけました。 今ではこれ無しじゃ生きて行けない体にされてしまいました。 -- 19歳 女子大生 (2014-04-01 14 08 41) 名前 コメント