int a; а создаётся в стеке
a=5; поместить по этому адресу а 5
int a[10]; создаётся массив а в стеке в виде a[0]-0x0, a[1]-0x4, a[2]-0x8....
а[5]=2; значит в адрес а (0х0 + 5*4 его индекс=0х20) поместить число 2
int *a;
a=5; поместить вместо адреса а (0х0) адрес 0х5
Добавлено через 3 минуты
это тебе надо тока в функциях
void fun(int n)
{
n=23; ошибка так как функция принимает число n допостим 5 а пять не может быть 23
}
void fun(int *n)
{
n=23; всё ок так как в память по адресу n (допустим 0х00230) записали чило 23(но в этом случае функции надо передавать адрес для этого операция & и нужна допустим)
}
int n=3;
fun(n) для второго примера не подходит передача 3
fun(&n)подходит передача 0х23
1
|