数组名的理解:
1.在实际应用中,大多数数组名的值是个指针常量,也就是数组的第一个元素地址。
2.数组名在运算中(除针了定义和声明外)可以理解成第一个元素指针(常量),但在数组可做的运
   算中,不能把数组名理解成第一个元素指针(常量)。(在C语言中数组只能做sizeof、[]、&三种运算)。
3.取一个数组名的地址所产生的是一个指向数组的指针,而不是一个指向某个指针常量的指针。

验证程序
#include <stdio.h>
int a[4] = {1,2,3,4};
int main(int argc, const char *argv[])
{
    int *p = (int *)&a; 
    printf("a=%p,a+1=%p\n",a,a+1);
    printf("&a=%p,&a+1=%p\n",&a,&a+1);
printf("*(&a+1)=%d,*(a+1)=%d",*(&a+1),*(a+1));
    return 0;
}

打印结果
a=0x804a014,a+1=0x804a018
&a=0x804a014,&a+1=0x804a024
*(p-1)=4,*(a+1)=2

对数组名的理解

相关文章:

  • 2021-07-06
  • 2021-04-16
  • 2022-01-25
  • 2021-08-27
  • 2022-12-23
  • 2022-01-04
猜你喜欢
  • 2021-05-03
  • 2021-09-04
  • 2022-12-23
  • 2021-05-24
  • 2021-08-17
  • 2021-09-10
  • 2021-11-18
相关资源
相似解决方案