いきなり本題に入りますが、
文字ポインターp
が、文字 ' ' を含む唯一の配列要素を指すようにしますT
。
char a[100][100];
char *p;
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
if(a[i][j] == 'T')
p = a[i][j];
*
PS 、 、などのさまざまな組み合わせで試しまし**
たが、何も機能しないようです。
そのアドレスを使用します。
char a[100][100];
char *p;
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
if(a[i][j] == 'T')
p = &a[i][j];
a[i][j]
タイプchar
であり、アドレスを保持するp
タイプです。char *
変数のアドレスを取得するには、先頭に&
.
ポインターの*
演算子は逆に機能します。'T'
バックを取得したい場合は、次を使用します。
char theT = *p;
それを得る別の方法があります
char a[100][100];
char *p;
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
if(a[i][j] == 'T')
p = a[i]+j;
あなたが実際に書くことによって、私たちはa[i]p = a[i]+j;
と呼ばれる配列の先頭にポインタを持っており、その配列の先頭からj倍離れた位置を指しています!