经典的数组与指针--001

本文探讨了数组和指针在编程中的基本概念和相互联系。通过实例代码,阐述了数组名作为指针常量的特性,以及如何通过指针操作数组元素。
摘要由CSDN通过智能技术生成

经典的数组与指针

1.数组与指针

先看代码

#include <stdio.h>

int main()
{
    int a[5] = {2,1,3,4,7};
    int *ptr = (int *)(&a + 1);
    printf("*(a+1):%d *(ptr+1):%d\n", *(a+1), *(ptr-1));

    printf("a=%p,&a=%p \n",a,&a);
    printf("a=%p %p %p %p %p\n",a,a+1,a+2,a+3,a+4);
    printf("&a=%p &a+1=%p\n",&a, &a+1);
    printf("&a+1=%p a+1=%p\n",&a+1, a+1);
    printf("*a:%d **&a:%d\n", *a, **(&a));

/*
* a 表示一级指针;也可以表示一级指针首地址
*&a 表示二级指针;也可以表示二级指针首地址
*
* 数组    做加1运算时,是按其地址中存储的数据类型进行地址位移计算的
* 指针变量 做加1运算时,是按其地址中存储的数据类型进行地址位移计算的
*/

    return 0;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值