一:C语言
1、指针、数组、结构体
1. a+1、&a+1、 (a+1)、 (&a+1)、* (* (&a+1))**
a是数组首地址,&a是数组首元素的地址.本图片来源
数组首元素地址和数组地址的异同?
(1)异:数组首元素地址和数组地址是两个不同的概念。例如int a[10],a的值是数组首元素地址,所以a+1就是第二个元素的地址,int类型占用4个字节,所以两者相差4。而&a是数组地址,所以&a+1就是向后移动(10*4)个单位,所以两者相差40。
(2)同:数组首元素地址和数组地址的值是相等的。
#include<stdio.h>
void main()
{
int a[5] = {
1, 2, 3, 4, 5};
int *ptr = (int *)(&a + 1);
printf("%