1个回答
展开全部
a是数组名,也是0的地址;&a[0]和a等价;&a是一维数组a的地址(值与a一样,但代表数组{0, 1, 2, 3, 4}的地址,+1的话要跳过4*5==20字节);a[0]就是下标为0的元素,这里就是0;&a+1是4后面的一个元素的地址,这里它不受代码控制,因为未定义。
a是int型变量,这里赋值为5;&a表示存储变量a的首地址;p是int *型变量,这里被赋值为变量a的地址&a;&p是存放int *型指针变量p的地址;*p表示p指向的目标值,这里就是a的值5。
在声明指针变量时*和类型符一起构成说明指针变量的类型符,如int *p;表示“int *型变量p”;在数组中*只是一个字符而不是操作符;在表达式中放在指针变量前表示取该指针指向的目标值,如前述2中*p的值是5;放在数组元素与元素之间是乘号的意思;若放在单目数组元素前,这个元素是指针时表示取它指向的目标值(和*p意思一样)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询