Я новичок в C и пытаюсь понять концепцию арифметики указателей:
У меня есть такой код:
#include<stdio.h>
void main(){
int a[10];
if(a)
printf("%d\n",*a);
}
Который печатает адреспервый элемент в массиве a
.Все в порядке.Но в моём выражении printf
я использую оператор *
для вывода значения.
Но когда я смотрю на свое утверждение if
, мне интересно, как без оператора *
, if
работает на a
?Я имею в виду без оператора *
, как оператор if
обращается к объекту, на который указывает указатель?
Полагаю, я достаточно ясно понимаю мои сомнения, заранее спасибо.