1

いくつかの値を指す float 型の P というポインターがあるとします。Ptr と呼ばれる別のポインターを作成して、P が指している場所を通過し、最後の要素を返したいと考えています。どうやってやるの?

これは私が今まで試したことです...

float *p;
float *ptr;
for(int i=0; i< sizeof p; i++){
    ptr++;
   return &ptr;
}

あれは正しいですか?私の質問は基本的なもので申し訳ありません。

4

2 に答える 2

2

pointer-to-pointer-to-floatは次のように宣言および初期化されます。

float** ptr = &p;
于 2013-10-31T12:49:21.340 に答える
-1

多分あなたがやろうとしていることはこれです:

size_t sizeArr = N;
float *p = new float[sizeArr];
float **ptr = &p;
for(int i=0; i< sizeArr-1; i++){
    (*ptr)++;
}
return (**ptr)

...
delete[] p; //careful with this one, since there is another pointer to the same memory

ここで、sizeArr は p が指している配列の長さです

アップデート

本当に必要でない限り、C++ で malloc を使用しないでください (コメントで提案されているように)。

于 2013-10-31T12:54:52.577 に答える