如何将指针用于数组而不是括号 [英] How to use pointers for array instead of brackets
问题描述
我正在尝试学习如何在C中使用指针,并且试图获得与& input [71]和& input [i];等效的对象。
I am trying to learn how to use pointers in C and I'm trying to get the equivalents for &input[71] and &input[i];
我尝试了 if(*(input + i)-arrayEnd)== 0)
,它告诉我我有一个 int
vs char *
比较。
I have tried if (*(input+i) - arrayEnd) == 0)
and it tells me I have an int
vs char *
comparison.
char input[72];
char *arrayEnd = &input[71];
if((&input[i] - arrayEnd) == 0)
推荐答案
我尝试过if(*(input + i)-arrayEnd)== 0),它告诉我我有一个int vs char *比较
I have tried if (*(input+i) - arrayEnd) == 0) and it tells me I have an int vs char * comparison
是。您正在进行 int
与 char *
的比较。 *(input + i)
表示您正在取消引用地址(input + i)
的值。
Yes. You are doing an int
vs char *
comparison. *(input+i)
means you are dereferencing the value at the address (input+i)
.
如何使用数组指针而不是括号
How to use pointers for array instead of brackets
改为尝试
if( ((input + i) - arrayEnd) == 0 )
这篇关于如何将指针用于数组而不是括号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!