誰かがこれらのユビキタス間の格差にまっすぐに道を設定することができますか?それは少し気が遠くなる可能性があります。
たとえば、のような2D配列がある場合rec[3][2]
、次のアクセスは同じことを意味します。
rec[0][0] = **rec
rec[i][0] = **(rec + i)
*(*(rec + i) + j) = rec[i][j]
これが事実である場合、これらの意味は何ですか:
#include <stdio.h>
double *recptr[3];
int i=1;
main()
{
double n1=12.0;
doublw n2=3.4;
recptr[0]= &n1;
recptr[1]= &n2;
printf("Amt: %.2f\n", **(recptr + i));
}
とは何ですか**(recptr + i)
、これは2Dポインターまたはポインター間参照へのアクセスですか?
foo(ptr2ptr)double **ptr2ptr;
{
int i=1, j=0;
if(**(ptr2ptr +i) > **(ptr2ptr + j))
{
double *tmp= *(recptr +i);
}
}
*(recptr +i)
繰り返しますが、との違いは何**(ptr2ptr +i)
ですか?!後者も2Dアクセスまたはポインター2ポンター参照へのアクセスであり、オブジェクトが先に指しているのですか?