У меня есть указатель на массив, почему он дает мне следующий результат?указатель на адрес массива минус адрес массива
int main() {
int b[] = {1, 2};
cout << "size of int = " << sizeof(int) << endl;
int *pt = b;
int i = 0;
while(i++ < 2) {
cout << "pt = " << pt << ", b = " << b << endl;
cout << pt - b << endl;
(pt)++;
}
return 0;
}
Выходной код:
size of int = 4
pt = 0x7fff576f0c2c, b = 0x7fff576f0c2c
0
pt = 0x7fff576f0c30, b = 0x7fff576f0c2c
1
пт указатель на начало массива Ь сначала, почему PT-б дает мне индекс массива, пт указывает на, а не индекс из массив умножает размер одного элемента.
Нет, массив не является указателем. – 2013-04-29 16:39:58
Все еще неправильно. Массив не является адресом. – 2013-04-29 16:45:59