数组名=&数组名

#include <stdio.h>

void fun(int p[10])//降级为int *指针
{
    printf("%p\n",p);//same
    printf("%p\n",&p);//not same//!!!!!!!!!!从这里看出降级了
    printf("%p\n",&p[0]);//same
    printf("\n");
    printf("%p\n",p+1);//same
//  printf("%p\n",&(p+1));//error
    printf("%p\n",&(p[1]));//same
}


//结论:数组名:
//          数组首地址,可以当作普通指针+-
//          蕴含数组的空间大小,占多少字节
//          取数组名的地址(首地址),还是首地址
//      降级后->非空类型指针:
//          内存单元首地址,普通指针+-
//          不知道首地址后面还有多少字节
//          可以附上[]当作数组来用
//          取普通指针的地址,就是二级地址了

int main(void)
{
    int array[10] = {0};
    printf("%p\n",array);//same
    printf("%p\n",&array);//same
    printf("%p\n",&array[0]);//same
    printf("\n");
    printf("%p\n",array+1);//same
//  printf("%p\n",&(array+1));//error
    printf("%p\n",&(array[1]));//same
    printf("\n");
    fun(array);


    return 0;
}

output

0x7ffd2af1d3a0
0x7ffd2af1d3a0
0x7ffd2af1d3a0

0x7ffd2af1d3a4
0x7ffd2af1d3a4

0x7ffd2af1d3a0
【0x7ffd2af1d388】
0x7ffd2af1d3a0

0x7ffd2af1d3a4
0x7ffd2af1d3a4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值