[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 19:54 / Filesize : 171 KB / Number-of Response : 914
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ポインタはどうやって学ぶべきか



1 名前:デフォルトの名無しさん [2007/10/24(水) 04:07:56 ]
なんと!意外にもスレが無かったので立ててみました

先日のソフトウェア開発技術者試験午後UのB木のポインタ表現
近年の基本情報技術者試験の午後C言語問題の自己参照構造体
など物凄く出来が悪いです。

ゆとり?文系?自作減少?
ブラックボックス化されてメモリ管理やコンピュータの細かい知識が不要となった?

本当にポインターは必要なのか!?議論しましょう

62 名前:デフォルトの名無しさん [2007/10/27(土) 00:42:03 ]
アナルアナルうるせーよ

63 名前:デフォルトの名無しさん [2007/10/27(土) 10:36:58 ]
演算子の表記法に問題があるんだよ。
同じ*でも、型宣言と、中身を取り出すときの両方で使うから初心者にはややこしい・・・

64 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 12:10:18 ]
>>59
へーへー
俺もC++の参照よくわからんかったのでもっぱらポインタで代用してたけど
こういう意味だったのね

65 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 12:34:46 ]
>>60
> 参照は正直、std::stringやstd::listを渡すときくらいしか使わんな
> なんとなくポインタだと不自然だから参照で渡してる感じ

俺はむしろ逆だな。ポインタとしての機能を必要としない限り参照
(あるいは値)で渡す。安全第一だからね。

66 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 16:20:28 ]
>>65
大抵shared_ptr使っちゃうからなぁ

67 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 21:46:05 ]
>>66
boost は俺も結構使うけど、あまり必要無いときは使わない。
参照で OK なのにわざわざ boost 持ち込むとかはせん。

68 名前:デフォルトの名無しさん [2007/10/28(日) 10:04:33 ]


69 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 11:45:20 ]
アセンブリ言語から始めよう

70 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 11:50:55 ]
俺はこれでそれなりに理解した気分になった
www.gihyo.co.jp/books/syoseki.php/4-7741-1142-2
まだ買えるのかは知らない



71 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 14:19:45 ]
ポインタは特定の場所をポイント、だから!指差すものだと何度いったら。。。

72 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 16:10:45 ]
なぜポインタを理解できないのかが理解できないから、教えようがないんだよねえ。

73 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 16:16:43 ]
POD型の動的な多次元配列をポインタを使って実装するなら問題ないけど
テンプレートメンバ関数ポインタを引数に取る関数のポインタの配列のポインタ
とかなると意味わからなくなるんだけどこれは理解できてないからだな

74 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 16:53:27 ]
ポインターをうまく言い表す日本語が鍵だな

75 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 17:43:50 ]
>>61
C++ の参照渡しは、
int &p で宣言した関数に対して
呼び出し側では普通に int を渡すのが混乱した。

76 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 17:46:13 ]
c++ の場合は定義の際は & つかうくせに実際に呼ぶときは
普通に呼べるのは便利だが、混乱の元でもあるね。

77 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 17:58:23 ]
つーか。参照渡しを表す & とアドレス演算子を表す & に
同じ記号を使うように決めたデザインがド間抜けに一票。


78 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 18:02:34 ]
ポインタもポインタで定義の際に*使うくせに
実際に呼ぶとき*をつけると中身が出てくる謎仕様
宣言と間接参照演算子が同じってだけで、結局は慣れなんだけどね。

79 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 18:28:25 ]
>>78
int *p;
ってのは、「*pがint型」という意味でそのような仕様にしたらしい。

80 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 18:51:16 ]
呼び出し側のソースを見たとき値渡しなのか参照渡しなのかわからないから参照嫌い



81 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 01:52:21 ]
単純な8bitCPUとかPICとかのアセンブラを学んで見ると良い。
アセンブラで登場する各種のアドレッシングモードを理解出来れば
ポインタなんてそれほど難しいもんじゃないよ。

82 名前:デフォルトの名無しさん [2007/10/29(月) 18:48:11 ]
Ruby使え

83 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 19:36:22 ]
>>79
おお、なるほど。そう説明されればわかりやすいな

84 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 23:07:16 ]
ポインタのポインタと
配列のポインタを
混同または理解していない香具師が多い


85 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 23:49:55 ]
ポインタの配列?

86 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 23:53:24 ]
>>84
おまえのこと?

87 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 15:14:41 ]
ポインタのそのまたポインタのそのまたポインタ・・・・・訳わかめ

88 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 15:27:45 ]
ポインタって、↓こうあるべきじゃね?

int i = 0;
pointer p = new pointer(i);
pointer p2 = new pointer(p);

p.type → int
*p → 0
p2.type → pointer
*p2 → p
**p2 → 0

89 名前:デフォルトの名無しさん [2007/10/30(火) 16:48:43 ]
プログラマなら、いるいらないではなくて、常識です。

90 名前:デフォルトの名無しさん [2007/10/30(火) 19:49:04 ]
>>88
そういう実装にすりゃいいじゃない。



91 名前:デフォルトの名無しさん [2007/10/31(水) 06:55:33 ]
www.dotup.org/uploda/www.dotup.org0324.gif

92 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 09:29:33 ]
・ポインタとは、「メモリ上のアドレスを指し示す」変数である。
・ポインタのみでは実体が無いため、malloc()でそのアドレスを先頭とした実領域を確保する必要がある。

この2点だけ意識してれば十分使えると思うんだけど。何故理解出来ないのかが理解出来ない。

93 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 10:35:46 ]
データはふわふわと浮かんでるようなイメージでも持ってるのかも
ある「どこかに」はなく、箱の中をただよっているという

94 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 10:41:44 ]
そういうのを意識してたら
「関数ポインタを引数にとる関数ポインタの多次元配列のポインタ渡し」とかパッと書けるもんなんでしょうか?
だとしたら俺は理解できてないな…

95 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 11:07:45 ]
四則演算だったら、どれだけ長くなっても難しいとは思わないだろ
1+5-3+2*6+・・・

ポインタだって同じ

96 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 11:10:06 ]
そりゃあ規則が明確だからね
でもポインタ演算の規則を明確に理解しようと思ったらタイプ理論とかの知識がいるんでしょ?

97 名前:デフォルトの名無しさん [2007/10/31(水) 11:29:07 ]
0から100までの偶数の合計を求めるプログラムを作成せよ.
ただしfor文を使用すること.
また,条件分岐(if文とswitch文)を使ってはならない.
課題3
かけ算の九九を以下の例のように表示するプログラムを作成せよ.
ただし,for文のネストを使用すること.
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
...
1 x 9 = 9
2 x 1 = 2
2 x 2 = 4
...
9 x 9 = 81
課題4
トランプのカード(ジョーカーを除く)を以下の例のようにすべて表示するプログラムを作成せよ.
ただし,for文のネストとswitch文を使用すること.
スペードの A
スペードの 2
スペードの 3
...
スペードの 10
スペードの J
スペードの Q
スペードの K
ダイヤの A
ダイヤの 2
ダイヤの 3
...
助けてくれ。。。
じゃヴぁで頼む。。。

98 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 11:32:50 ]
>>97
スレチ

99 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 11:48:16 ]
プログラムが扱えるメモリ空間からスタックと静的領域除いた全てをmallocすればアドレス直指定だけで変数の宣言も定義もいらない幸せプログラミングが

100 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 11:52:44 ]
そんな風にやるなら、そもそもmalloc必要なくね?



101 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 12:08:50 ]
宣言の場合、全ては void* で、アドレスであると考える

使う場合、通常の変数とずれがあるので混乱するが、以下の関係がある
*pointer = var;
pointer = &var;

*foo.pointer = *foo->pointer = foo.var = foo->var;
foo.pointer = foo->pointer = &foo.var = &foo->var;

どちらの形式をとっても、
アドレスと値のどちらにもアクセスできるようにしてあるという点が重要
(ただし、&var には代入できない・const void*とみなせる)

通常の変数は値を出し入れすることに主眼が置かれていて、
ポインタ変数はアドレスのほうを出し入れすることに主眼が置かれている


102 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 12:09:11 ]
>>99
全てを自分で管理するなら、そもそも高級言語は必要ないんじゃ?

103 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 12:14:30 ]
int *(*(*ponta[N])(int, int (*)(int)))(int);
やっぱ、ポンタってむずいな、orz

104 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 12:24:04 ]
ポンタwwww

105 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 19:02:31 ]
>>85
84が言いたいのは↓こういうことじゃね
#include <stdio.h>
int main()
{
short *p, **pp, *pa[9], (*ap)[9];
pp = &p;
printf("ポインタのポインタ: size:%d",sizeof(pp));
printf("\tstep:%d\n",(void *)(pp+1)-(void *)pp);
printf("ポインタの配列: size:%d",sizeof(pa));
printf("\tstep:%d\n",(void *)(pa+1)-(void *)pa);
printf("配列のポインタ: size:%d",sizeof(ap));
printf("\tstep:%d\n",(void *)(ap+1)-(void *)ap);
getchar();
return 0;
}


106 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 19:20:33 ]
103が言いたいのは↓こういうことじゃね
#include <stdio.h>
int main()
{
short *p, **pp, *pa[9], (*ap)[9];
pp = &p;
printf("ポンタのポンタ: size:%d",sizeof(pp));
printf("\tstep:%d\n",(void *)(pp+1)-(void *)pp);
printf("ポンタの配列: size:%d",sizeof(pa));
printf("\tstep:%d\n",(void *)(pa+1)-(void *)pa);
printf("配列のポンタ: size:%d",sizeof(ap));
printf("\tstep:%d\n",(void *)(ap+1)-(void *)ap);
getchar();
return 0;
}

107 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 19:31:20 ]
ポンタ微笑ます

108 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 19:35:39 ]
>>106 103がいいたいのは>>94でしょ
typedef (*pfpf)(int (*)(int));
pfpf pfpfaa_tmp[9][9];
pfpf*** fuck;
fuck = &pfpfaa_tmp;


109 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 19:39:24 ]
typedef int(*pfpf)(int (*)(int));だった(’ω´)

110 名前:デフォルトの名無しさん [2007/10/31(水) 20:54:21 ]
* をデリヘル演算子って呼ぶのがはやってた



111 名前:デフォルトの名無しさん [2007/10/31(水) 20:59:15 ]
エロ写真の乳を如何に鷲掴みしようとしても
それはポインタであり実体はそこにはないのである。

112 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 21:01:22 ]
下手

113 名前:デフォルトの名無しさん [2007/10/31(水) 23:02:27 ]
>>1
これから技術者として生きていきたいと、もし君が思っているとしたら。
「〜〜だから、これは学ばなくていい。」という考え方は、
ひとまずやめたほうがいい。

まだ君は、どの情報が必要で、どの情報が必要でないと判断できないわけだから。

まずは、とにかくトコトン悩んでやってみることだよ。
自分の方向性を決めるのは、その後でも十分だと思う。

114 名前:デフォルトの名無しさん [2007/11/02(金) 08:35:23 ]
JavaやC#などの次世代の言語にもポインタの概念はしっかり受け継がれてるから知っておいて損はないかと

115 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 08:41:06 ]
教えたがりしかいねーなこのスレw

116 名前:デフォルトの名無しさん [2007/11/02(金) 19:13:53 ]
これで文字列が代入されないのは何故ですか???
↓を改善させるためにポインタのポインタを使わなきゃいけない理由は何故ですか?


void myalloc(char *p1, char *p2)
{
p1 = malloc(20);
strcpy(p1, "first string");
p2 = malloc(20);
strcpy(p2, "second string");
}


int main(void)
{
char *p1;
char *p2;

myalloc(p1,p2);
printf("p1=%s p2=%s\n", p1, p2);

return 0;
}


117 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 19:32:37 ]
>>115
ポインタがよくわかりません。教えてください><

118 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 19:36:16 ]
>>116

myalloc(char *p1, char *p2)のp1,p2とmainのp1,p2が別の人だから。

119 名前:デフォルトの名無しさん [2007/11/02(金) 19:42:46 ]
>>118
値渡しではなく、参照渡し(アドレス渡し)にしているのにですか?

120 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 19:46:42 ]
>>119
どこが?
void myalloc(char *p1, char *p2)
はchar*の中身を渡しているだけで、
char*自身を渡してないよ。



121 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:00:53 ]

int main(void)
{
char *p1

この段階ではp1には不定な値が入っている。例えば0xfefefefeだとしておこう

void myalloc(char *p1, char *p2)
{

これが呼ばれた段階で p1 == 0xfefefefe

p1 = malloc(20);
この段階で p1 には何かしらのアドレスが入る。例えば0x00001000 としよう

myallocを抜ける段階でp1という変数は消えてなくなる。
なぜならp1はローカル変数だからだ

結局のところ、myallocのp1は、mainのp1が保持していた 0xfefefefeという値とコピーしたローカル変数に過ぎない
そのローカル変数にmallocの返り値を保存しても、mainのp1には何の影響もないわけだ

122 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:01:56 ]
>0xfefefefeという値とコピーしたローカル変数に過ぎない

0xfefefefeという値「を」コピーしたローカル変数に過ぎない

だった。意味が通じなくなりそうだから念のため修正

123 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:07:56 ]
仮に
void myalloc(char p1, char p2)
で考えてみよう。

main(){
char p1='a'
char p2='b';
myalloc(p1,p2)
}

こうした時myalloc(p1,p2) にやってくるのは'a','b'という値。
なのでmyalloc(p1,p2)の中でp1,p2を変更してもmainの中のp1,p2は変化しない。

あとは*をつけるだけ。

void myalloc(char *p1, char *p2)

main(){
char* p1="a";
char* p2="b";
myalloc(p1,p2)
}


124 名前:デフォルトの名無しさん [2007/11/02(金) 20:09:33 ]
あ〜なんとなくわかった気がします
つまり・・・

125 名前:デフォルトの名無しさん [2007/11/02(金) 20:11:15 ]
mainのchar *p1が指すアドレスが入っているだけで、
mainのp1自身のアドレスを渡しているわけではないんですね

126 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:13:20 ]
>>125
そうです。結構はまるポイントですね。これ。

127 名前:デフォルトの名無しさん [2007/11/02(金) 20:17:40 ]
あれ?いやまた分からなくなってきた
↓改善したプログラムですが・・・*p1と*p2もローカル変数だから消えちゃって・・・

void myalloc(char **p1, char **p2)
{
p1 = malloc(20);
strcpy(*p1, "first string");
p2 = malloc(20);
strcpy(*p2, "second string");
}


int main(void)
{
char *p1;
char *p2;

myalloc(&p1,&p2);
printf("p1=%s p2=%s\n", p1, p2);

return 0;
}


128 名前:デフォルトの名無しさん [2007/11/02(金) 20:20:22 ]
まちがった

↓改善したプログラムです

void myalloc(char **p1, char **p2)
{
*p1 = malloc(20);
strcpy(*p1, "first string");
*p2 = malloc(20);
strcpy(*p2, "second string");
}


int main(void)
{
char *p1;
char *p2;

myalloc(&p1,&p2);
printf("p1=%s p2=%s\n", p1, p2);

return 0;
}


129 名前:デフォルトの名無しさん [2007/11/02(金) 20:21:08 ]
>>128>>116とどう違うのか
**になると一気にわからなくなる

130 名前:デフォルトの名無しさん [2007/11/02(金) 20:23:27 ]
>>127
実に惜しい
つーか怖いwww

void myalloc(char **p1, char **p2)の中のp1はmainのp1をポインタに持つポインタなので・・・
mainのp1のポインタに対してmallocするには・・・

ていう。



131 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:25:26 ]
こういうところでポインタ宣言と間接参照演算子が同じってのが邪魔してくるんだよな
あと名前の設定をミスってるのが大きい。
char*のやつは文字列型っぽい名前にしなくちゃいけないし、
引数のほうは文字列型のアドレスっぽい名前にしなくちゃ。

132 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:27:50 ]
ってよく見たらmallocおかしいじゃねえかw

133 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:28:39 ]
>>129

一回名前かえよう
void myalloc(char **pp1, char **pp2)
{
}

int main(void)
{
char *p1;
char *p2;

}

とすると、pp1はp1を値に持っている。なので*pp1=p1
*pp1をいじると当然p1も変わる。


134 名前:デフォルトの名無しさん [2007/11/02(金) 20:29:31 ]
図で描けたら簡単なんだけどな・・・

135 名前:デフォルトの名無しさん [2007/11/02(金) 20:30:38 ]
>pp1はp1を値に持っている

『pp1は&p1を値に持っている』じゃなくて>『pp1はp1を値に持っている』ですか?

136 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:40:12 ]
>>135
サーセン『pp1は&p1を値に持っている』です。

137 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:40:23 ]
ソースコードでオナニーできて一人前

138 名前:デフォルトの名無しさん [2007/11/02(金) 20:40:49 ]
いや、pp1はp1を値に持っているでいいんだ。

139 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:46:44 ]
&&pp1 &pp1 pp1 *pp1 **pp1 ***pp1 処理の度に全部printfで表示させればいいんだよ


140 名前:デフォルトの名無しさん [2007/11/02(金) 20:58:48 ]
ベテランの人たちはダブルポインタを扱うとき
いちいち頭で考えて使っているんですか?

それとも体が勝手に動くものなんですか?



141 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 21:02:40 ]
別にベテランじゃないけど上にあるやつくらいだったら
まともな命名法と*の読み方しだいで何とかなる範囲じゃね?

142 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 21:06:31 ]
当然頭は使ってるけど何度も使ってれば考える時間は短くて済むようになる

143 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 21:18:29 ]
C++ならダブルポインタは使わないで済むけどね

144 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 21:21:23 ]
あれ、>>128で合ってるだろ?と思ったらまちがったって言うのは
>>127がコピペ失敗って意味じゃなくて>>127がバグだったって意味ね

145 名前:デフォルトの名無しさん [2007/11/02(金) 22:00:46 ]
freeはいつ呼べばいい?myfree作るべき?

146 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 22:21:47 ]
宗教論争になりがちだからお好きなように…かなw

147 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 22:26:52 ]
スマートポインタ使え

148 名前:デフォルトの名無しさん [2007/11/02(金) 22:45:47 ]
ポインタって要するに参照渡しのことですよね?

149 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 22:52:16 ]
参照渡しっていうとなにかとC++の参照が出てくるから困る

150 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 22:59:47 ]
>>148
参照はダブルポインタ。



151 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 04:42:12 ]
「ダブルポインタ」っていうのは素人が使う言葉


152 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 11:51:23 ]
「ダブルポインタ」「ポインタのポインタ」
なんて呼び方はやめて普通に
「ポインタへのポインタ」
って呼べばいい

という主張をどこかで見たな

153 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 12:36:52 ]
素人は「ダブルポインタ」なんて知らんだろ

154 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 12:47:29 ]
参照とダブルポインタは違うよね?

155 名前:デフォルトの名無しさん [2007/11/03(土) 14:01:21 ]
問題は「ダブルポインタ」と言ってしまうと
「配列へのポインタ」と「ポインタへのポインタ」の
どっちの話をしているのかが決まらないまま話が進むこと

だから素人同士の会話でしか使われない表現ということ


156 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 14:01:35 ]
ダブルポインタなんて2chでしか貴下ねーな

157 名前:デフォルトの名無しさん [2007/11/03(土) 14:03:22 ]
補足

× 問題は「ダブルポインタ」と言ってしまうと

○ 問題は「char **p;」の表記だけを見て「ダブルポインタ」と言ってしまうと



158 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 14:09:53 ]

ちょっと暇つぶししてみた

ダブルポインタ に一致する日本語のページ 約 3,040 件
ポインタのポインタ に一致する日本語のページ 約 9,800 件
配列のポインタ に一致する日本語のページ 約 672 件
ポインタへのポインタ に一致する日本語のページ 約 616 件
配列へのポインタ に一致する日本語のページ 約 14,800 件

最近はブログのせいでごみばっかり引っかかるようになってしまった
と言っても以前はマニュアルのコピーばっかり引っかかってた訳だが



159 名前:デフォルトの名無しさん [2007/11/03(土) 14:13:28 ]
そもそも重複スレだし
pc11.2ch.net/test/read.cgi/tech/1171172537/49-

160 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 14:15:27 ]
(T** a)みたいにするんじゃなくて
(T* *a)にしたら少し理解しやすくなったかもしれないこともなかったような気がした



161 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 14:19:18 ]
左の * と 右の * はどっちが優先度高いんだっけ?


162 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 14:20:59 ]
char str[256];
char *p;
p = str;






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<171KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef