直截了当,
我希望字符指针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];
Run Code Online (Sandbox Code Playgroud)
PS我已经尝试过的各种组合*,**等,但似乎没有任何工作.
Bar*_*chs 13
使用其地址:
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];
Run Code Online (Sandbox Code Playgroud)
a[i][j]是类型char和p类型char *,其中包含一个地址.要获取变量的地址,请在其前面添加&.
*指针上的操作符反过来工作.如果你想要'T'退后,你可以使用:
char theT = *p;
Run Code Online (Sandbox Code Playgroud)
有另一种方法可以得到它
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;
Run Code Online (Sandbox Code Playgroud)
通过写p = a[i]+j;实际说,我们在一个名为a [i]的数组的乞讨处有一个指针,你指向距离该数组的乞讨j次的位置!