ページ 1 / 1
配列にポインタのアドレスをいれれるかどうか?
Posted: 2009年10月19日(月) 18:48
by ファファファファウスト
タイトル通りです。
d[0] = &point
みたいなことはできるんでしょうか?
Re:配列にポインタのアドレスをいれれるかどうか?
Posted: 2009年10月19日(月) 18:57
by バグ
試してみては?
Re:配列にポインタのアドレスをいれれるかどうか?
Posted: 2009年10月19日(月) 18:59
by ファファファファウスト
やったんですが・・・
移植性のないポインタ変換
と警告がでまして・・・
Re:配列にポインタのアドレスをいれれるかどうか?
Posted: 2009年10月19日(月) 19:24
by バグ
多分、型が違うんじゃないかと…
int a[5] = {0, 1, 2, 3, 4};
int *p[5] = {&a[0], &a[1], &a[2], &a[3], &a[4]};
これならどうですか?
Re:配列にポインタのアドレスをいれれるかどうか?
Posted: 2009年10月19日(月) 19:25
by バグ
あ、失礼、ポインタのアドレスですね。
int* point;
int** d[3];
d[0] = &point;
こうですかね。
Re:配列にポインタのアドレスをいれれるかどうか?
Posted: 2009年10月19日(月) 19:45
by box
> 移植性のないポインタ変換
> と警告がでまして・・・
そのときのソースコードは?
Re:配列にポインタのアドレスをいれれるかどうか?
Posted: 2009年10月19日(月) 19:59
by ファファファファウスト
まずはソース上げますね
void asc(int *point,int size)
{
int i,j;
int f[65535],s[65535],p[65535];
unsigned d[10000];
d[0] = &point;
これは型変換しつつデータを配列にいれようとしてかきました
バグさんありがとうございます!!試してみます!!
Re:配列にポインタのアドレスをいれれるかどうか?
Posted: 2009年10月19日(月) 20:11
by box
> void asc(int *point,int size)
> unsigned d[10000];
> d[0] = &point;
これだと、バグさんの回答とは話が違ってきます。
こういうことが起きるから、「質問するときにソースを見せて」となるわけです。
pointが指している領域の先頭要素をd[0]に格納したければ、
d[0] = point[0];
です。
Re:配列にポインタのアドレスをいれれるかどうか?
Posted: 2009年10月19日(月) 20:17
by ファファファファウスト
申し訳ないです・・・・・以後気をつけます
できました!!!ありがとうございます!!