1 - 0x1
2 - 0x2
3 - 0x3
4 - 0x4
5 - 0x5
0 - (nil) // (nil is printed here)
1367157456 - 0x517d2ad0 // (random address and value)
32628 - 0x7f74 // (random address and value, which should have been adjacent, I think)
1 - 0x1 // (address and value of other element in array)
0 - (nil) // (here too, nil is printed)
1365029450 - 0x515cb24a
32628 - 0x7f74
[*]Скомпилировано с помощью gcc [gcc ./temp.c]
[*]x86 64-разрядная машина Linux.
При попытке распечатать адреса и значения элемента массива, который не покрыт индексом массива, почему некоторые элементы возвращают: [list] [*] (nil) указатель [*]Адрес других элементов массива [*]Случайные адреса (я предполагаю, что это адреса физической памяти) [/list] Моя программа: [code]#include
int main(){ int arr[5]; arr[0]=1; arr[1]=2; arr[2]=3; arr[3]=4; arr[4]=5; printf("%d\t-\t%p\n", arr[0], arr[0]); printf("%d\t-\t%p\n", arr[1], arr[1]); printf("%d\t-\t%p\n", arr[2], arr[2]); printf("%d\t-\t%p\n", arr[3], arr[3]); printf("%d\t-\t%p\n", arr[4], arr[4]); printf("%d\t-\t%p\n", arr[5], arr[5]); printf("%d\t-\t%p\n", arr[6], arr[6]); printf("%d\t-\t%p\n", arr[7], arr[7]); printf("%d\t-\t%p\n", arr[8], arr[8]); printf("%d\t-\t%p\n", arr[9], arr[9]); printf("%d\t-\t%p\n", arr[10], arr[10]); printf("%d\t-\t%p\n", arr[11], arr[11]); } [/code] Мой результат: [code]1 - 0x1 2 - 0x2 3 - 0x3 4 - 0x4 5 - 0x5 0 - (nil) // (nil is printed here) 1367157456 - 0x517d2ad0 // (random address and value) 32628 - 0x7f74 // (random address and value, which should have been adjacent, I think) 1 - 0x1 // (address and value of other element in array) 0 - (nil) // (here too, nil is printed) 1365029450 - 0x515cb24a 32628 - 0x7f74
[/code]
[*]Скомпилировано с помощью gcc [gcc ./temp.c] [*]x86 64-разрядная машина Linux.