トップページ⇒tech
50コメント12KB

ポインタについて

■ このスレッドは過去ログ倉庫に格納されています
0001ぷろぐらまぁNGNG
ポインタはデータの値ではなく、データが格納されている
メモリーのアドレスを持つ変数で、そのポインタを使うと、
任意のアドレスを指定してデータの読み書きができるということですが、
どのようにして使うのかがちょいわからないです。
だれか教えてちょ。
0002デフォルトの名無しさんNGNG
ヘルプ読んだ?
俺VB使ってるがそれぐらいわかるぞ。
0003デフォルトの名無しさんNGNG
あなたがポインタを使いこなすのは ム リ と思われ。
単発質問スレ立てるな、削除依頼出して来い。
0004デフォルトの名無しさんNGNG
>1
http://pc.2ch.net/test/read.cgi/tech/1010673275/l50
0005デフォルトの名無しさんNGNG
関数の引数を渡すときとか。引数ってのは結局、ひとつの変数だから、
引数として渡した値をコピーしているだけ。だから、そのコピーした
値を変更つまり、その関数が用意した変数の値を変更しているだけで
関数呼び出しもとの値は変更できてないの。それじゃー、こまるから
呼び出しもとの変数の場所を教えてあげることで、その変数の場所の
値を変更できるから、大丈夫ってわけ。代表的な使い方はこんな漢字。
0006今回も法則どおりかNGNG
類似スレ
ポインタのポインタがわかりません!!
http://pc.2ch.net/test/read.cgi/tech/1011199511/

本来ならここで質問すべきスレ
C言語なら、俺に聞け! <12>
http://pc.2ch.net/test/read.cgi/tech/1012348974/
0007デフォルトの名無しさんNGNG
削除依頼出しても、実際消えるまでかなりの時間掛かるね
0008デフォルトの名無しさんNGNG
ここにはポインタを正確に理解できない人も多いから別のすれで
質問しれ。
0009デフォルトの名無しさんNGNG
1がプログラマを名乗ってることに激しく抗議したい!
00102NGNG
俺いつも思うんだけどポインタが分からないっつってるやつが
分からない。

そんなに難しいか?あれ。便利じゃん。
VB使ってるとうらやましいぞ。
0011デフォルトの名無しさんNGNG
>5
ここで答えると調子に乗るだけだからやめろ
0012デフォルトの名無しさんNGNG
ポインタつーのは相対アクセスしないと参照と同じ。
0013あまりに1がすばらしすぎてNGNG
脱糞しました;)
0014デフォルトの名無しさんNGNG
とりあえず>>1はdelphiダウンロードしなさい。
0015ぷろぐらまぁNGNG
ポインタって具体的にどういうとこが便利なんですか?

0016デフォルトの名無しさんNGNG
だから、C覚える前に、アセンブラ覚えろって15年前から毎年若い輩に言っているだろが〜。
0017デフォルトの名無しさんNGNG
クソスレ上げたり1の代理したりと大変ですね? :)
0018デフォルトの名無しさんNGNG
>>15
100MBのデータを関数に渡す時

100MBのデータをそのままコピーするのと
100MBのデータのアドレスをコピーするのと

どっちが楽か考えてみなよ
0019デフォルトの名無しさんNGNG
>>1は全部グローバル変数を使用しなさい。
0020デフォルトの名無しさんNGNG
D:\data>debug
-a 100
2CDF:0100 push cs
2CDF:0101 pop ds
2CDF:0102 mov dx,0200
2CDF:0105 mov ah,09
2CDF:0107 int 21
2CDF:0109 mov ax,4c00
2CDF:010C int 21
2CDF:010E
-e 200
2CDF:0200 00.ba 00.de 00.d7 00.a7 00.24
-r ip
IP 0100
:100
-g

dx (=0x0200)がポインタだ。ぢょっと違うか。
0021デフォルトの名無しさんNGNG
>>1さん
難しい質問をしますね。
プログラマーのみなさんはこんなことを
毎日のお仕事にしているのですか?
凄いです。
メモリーとかアドレスとか発言してみたいです。
「その変数のメモリーアドレスがさぁ」とか、
「いけない!アクセスバイオレーションだよ。」とか
言って見たいです。
>>1さん
尊敬します。
がんばってください。
0022ぷろぐらまぁNGNG
>>18
関数はたとえばどういった関数?
>>19
グローバル変数?へ?
>>20
その言語わかりませんです・・
>>21
そんな尊敬されるほどの実力ありませんです。
ポインタすら理解に苦しんでるのでね。
でもがんばりますです・・
0023デフォルトの名無しさんNGNG
>>22
さてはあなた真性ですね?
0024デフォルトの名無しさんNGNG
寝ただった〜
002516,20NGNG
>>22
アセンブラだってば。
あんたのPCでコマンドプロンプト開いて
DEBUGって半角で打ってみな。
0026まもら ◆MtyDeTiY NGNG
>>16
Z80とかの乗ったワンボードマイコンをつかった実習とか、
高校の理科か数学の授業でやるべきだよね。文系も含めて。
0027デフォルトの名無しさんNGNG
>>26
うちの高校はやった。
0028デフォルトの名無しさんNGNG
こら〜、俺のポインターで君を指し示しちゃうぞ〜。
0029デフォルトの名無しさんNGNG
いや〜ん、そんな所指し示しちゃ駄目ぇん
0030デフォルトの名無しさんNGNG
ありません・・・
投了です・・・・
0031デフォルトの名無しさんNGNG
>28,29
Memory Hole at 15-16MB
0032デフォルトの名無しさんNGNG
とりあえず>>5で覚えとけ!
0033デフォルトの名無しさんNGNG
使うのは使う関数次第だぞ。
関数がポインタを使うような関数だったら
使えばいいっつーことで、ほぼいいじゃないの?

いきなりつかうつっても、使う関数が決まんなかったら、
使いようがないぞ!
0034デフォルトの名無しさんNGNG
ポインタの使い方は
int i=0,*p=&i;
だとして
int d=*p;
int Int=p[0];
みたいに参照演算子を使ってやります。
0035デフォルトの名無しさんNGNG
配列とポインタの完全制覇
http://member.nifty.ne.jp/maebashi/programmer/pointer.html


0036デフォルトの名無しさんNGNG
(((void (*)())0)());
0037デフォルトの名無しさんNGNG
>>35 前橋和弥氏マンセー
0038デフォルトの名無しさんNGNG
>>35
よくよく見たら、まえばしだったんだな。今はじめて知った(藁
0039ぷろぐらまぁNGNG
>>5
つまり、関数呼び出しは関数内部の処理が完了したら
関数の呼び出し元(呼び出した命令の次のアドレス)
に処理が戻ってこなければいけないからそのアドレスを記録しておくってこと?
>>25
コマンドプロンプトとは?何?
>>33
うん、たしかに
>>34
むず・・・・
0040デフォルトの名無しさんNGNG
クソスレ上げんといて・・
0041デフォルトの名無しさんNGNG
みんなageちゃう。
0042デフォルトの名無しさんNGNG
>>39
qsort()でも、見てみれ。
それから、ageんな。
0043デフォルトの名無しさんNGNG
ポインタの使用例:
char* strcpy(char* s1, const char* s2)
{
  char* p = s1;
  while ((*s1++ = *s2++) != '\0')
    ;
  *s1 = '\0';
  return p;
}
0044デフォルトの名無しさんNGNG
>>39
次からはメール欄に sage と入れて書き込んでください。
sage は半角英字です。
0045デフォルトの名無しさんNGNG
>>39
http://www.google.com/ すれ。
0046デフォルトの名無しさんNGNG
>>43
何故ヌル文字を2回も入れている?
whileの終了条件は"ヌル文字が式の値で帰ってれば"だぞ。
004746NGNG
スマソあげてしまった・・。
0048○◎●〇�@NGNG
>>1

無理して使う事無いよ。

でも、どうしても気になるなら
アセンブラ使えば、すぐわかると思う。
0049デフォルトの名無しさんNGNG
ポインタが理解できないのならこれ見てみそ。
http://www3.plala.or.jp/shinai/wanwan/englishpointer.htm
0050デフォルトの名無しさんNGNG
>>49の性格: 独立心が強く、集中力がある、短気で興奮しやすい
■ このスレッドは過去ログ倉庫に格納されています