11

いきなり本題に入りますが、

文字ポインター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 、 、などのさまざまな組み合わせで試しまし**たが、何も機能しないようです。

4

3 に答える 3

15

そのアドレスを使用します。

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;
于 2013-04-13T08:02:09.180 に答える
7

それを得る別の方法があります

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倍離れた位置を指しています!

于 2013-04-13T08:28:35.080 に答える