天天看点

array

demo1

array[0].address=00CFF7F0 array[1].address=00CFF7F4 array[2].address=00CFF7F8 array[3].address=00CFF7FC array[4].address=00CFF800 array[5].address=00CFF804 array[6].address=00CFF808 array[7].address=00CFF80C array[8].address=00CFF810 array[9].address=00CFF814

从上面可以看出每个int占用4个字节

demo2

p1[0]=1,address[0]=0x7ffeefbff4b0 p1[1]=3,address[1]=0x7ffeefbff4b4 p1[2]=5,address[2]=0x7ffeefbff4b8 p1[3]=7,address[3]=0x7ffeefbff4bc p1[4]=9,address[4]=0x7ffeefbff4c0

数组名称

多数情况下,c++将数组名解释为数组的第1个元素的地址。

array1[0].addess=0x7ffeefbff4b0

总结

p1和*p1,前者是地址,后者是存储在该地址的值。由于p1指向第1个元素,因此*p1显示的值为第1个元素的值,即1.

接下来将p1加1.这样p1的值为第2个元素的地址。因此,*p1现在的值是3.

以此类推。

C99

array1[0]=0 array1[1]=0 array1[2]=0 array1[3]=10   // notice array1[4]=0 array1[5]=0