Пара вопросов по этим строкам, но я не совсем понимаю их.Указатель с арифметикой с structs
struct bundle
{
int x;
int y;
};
void foo(struct bundle *A, int p)
{
A->x = p;
A->y = p;
}
main()
{
struct bundle ptr;
foo(&ptr, 0);
//printf("%d",*(ptr + 1)); ISSUE HERE
}
Мое заявление о печати не работает ... Любые идеи?
Я использую онлайн C компилятор, который дает мне эту ошибку
invalid operands to binary +
, но я не думаю, что компилятор не имеет ничего общего с ним.
Я пробовал отличить его от (int *)
, но не повезло. Я уверен, что делаю правильный *(ptr + 1)
, и мне не нужно делать *(ptr + sizeof(int))
или что-нибудь в этом роде.
Спасибо за помощь!
потому что 'ptr' не является указателем –
Что вы ожидали от печати, и почему? – JS1