Я изучаю C ++ и немного запутался в том, как отличается Указатель на целочисленное значение и Указатель на массив ... См. Мой код ниже:
int main(void)
{
int* ptrOne;
int VarOne = 25;
ptrOne = VarOne;
int* ptrTwo;
int ArrayTwo[6];
ArrayTwo[0] = 2; //ect for the rest of the array, omitted here.
ptrTwo = ArrayTwo;
}
Указатели - это просто переменные, которые содержат адрес.
Для строки ptrOne = VarOne это значение ЗНАЧЕНИЯ 25 сдвигается в ptrOne.
Для строки ptrTwo = ArrayTwo он помещает АДРЕС ArrayTwo [0] в ptrTwo.
Почему ptrTwo = ArrayTwo эквивалентно ptrTwo = & ArrayTwo [0], но ptrOne = VarOne НЕ равно ptrOne = & VarOne?
Это связано с тем, что операция выполняется с массивом против int?
Заранее спасибо за любую помощь, я прошел этот код в моем компиляторе и посмотрел на адреса в памяти и связанные значения, я также прочитал ответ для , как различать целочисленный указатель и указатель целочисленного массива , но это не полностью объясняло различия.