零基础C语言入门027——指针数组和数组指针

指针和数组的区别指针是左值(什么是 lvalue,什么是 rvalue?);而数组名只是一个地址常量,它不可以被修改,所以数组名不是左值。指针数组int *p1[5];上边是一个指针数组,我们可以从运算符的优先级和结合性进行分析:数组下标的优先级要比取值运算符的优先级高,所以先入为主,p1 被定义为具有 5 个元素的数组。那么数组元素的类型呢?是整型吗?显然不是,因为还有...
摘要由CSDN通过智能技术生成
  1. 指针和数组的区别

    指针是左值(什么是 lvalue,什么是 rvalue?);
    而数组名只是一个地址常量,它不可以被修改,所以数组名不是左值。

  2. 指针数组
    数组里的元素可以使用任何数据类型,可以装整型变量,浮点型变量,字符型变量,也可以装地址

int *a[5]={&b,&c,&d,&e,&f};
int表示数组里的元素(地址类型)指向整型变量
星号表示数组里的元素为指针,即地址信息。所以把这个数组叫做地址数组也没毛病

//指针数组应用
#include<stdio.h>
int main (void)
{
int b=5,
    c=8,
    d=25,
    e=0,
    f=213;
    int *a[5]={&b,&c,&d,&e,&f};//a[0]==&b
    *a[3]=18;//a[3]是地址,对地址操作要用*内存操作符
    printf("e=%d\n",e);
    system("pause");
    return 0;
}
int *p1[5];

上边是一个指针数组,我们可以从运算符的优先级和结合性进行分析:
数组下标的优先级要比取值运算符的优先级高,所以先入为主,p1 被定义为具有 5 个元素的数组。那么数组元素的类型呢?是整型吗?显然不是,因为还有一个星号,所以它们应该是指向整型变量的指针。</

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值