c语言中下标运算符的作用,C语言下标运算符([])

借助于下标运算符 [](subscript operator),可以获取数组中单独的元素。下标运算符需要两个操作数。在最简单的情况下,一个操作数是一个数组名称,而另一个操作数是一个整数。

在下面的示例中,假设 myarray 是一个数组的名称,并且 i 是一个整数类型的变量。表达式 myarray[i] 指定该数组内的第 i 号元素,数组中第 1 个元素的编号为 0,换句话说,第 i 号元素是数组中第 i+1 个元素。

运算符 [] 的左操作数不一定需要是数组名称。一个操作数必须是一个指针类型表达式(例如,数组名称就是这类表达式的一种),同时,另一个操作数必须是整数。表达式 x[y] 等效于(*((x)+(y)))。下面的示例使用下标运算符初始化一个动态生成的数组。

#include #define ARRAY_SIZE 100 /* ... */ double *pArray = NULL; int i = 0; pArray = malloc( ARRAY_SIZE * sizeof(double) ); // 生成这个数组 if ( pArray != NULL ) { for ( i = 0; i < ARRAY_SIZE; ++i ) // 对数组进行初始化 pArray[i] = (double)rand()/RAND_MAX; /* ... */ }

在该示例中,循环体内的表达式 pArray[i] 等效于 *(pArray+i)。i[pArray] 也是正确的,该表示方式也会生成相同的数组元素。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第六章 运算符与表达式 C运算符的分类: 算术运算符:+、-、*、/、%、++、-- 关系运算符;>、<、==、!=、>=、<= 逻辑运算符:&&、||、! 位操作运算符:位与&、位或|、位非~、位异或^、左移<<、右移>> 赋值运算符:=、复合算术运算赋值(+=、-=、*=、/=、%=)、复合位运算赋值(&=、|=、^=、<<=、>>=) 条件运算符:?: 逗号运算符:, 指针运算符:取地址&、取内容* 求字节数运算符:sizeof 其他运算符:()、下标[]、成员运算符(->、.) 6.1 概述 按运算符连接操作数分三类: 1.单目运算符:又称一元运算符,即只有一个操作数的运算符。负号-、正号+、自增++、自减--、非!、sizeof、指针运算符、部分位操作运算符。 2.双目运算符:又称二元运算符,连接两个操作数。大部分运算符属于此类。 3.三目运算符:连接三个操作数。C语言唯一的三目运算符为条件运算符(?:)。 运算符有优先级和结合性。运算先后顺序受运算符的优先级和结合性制约。 表达式由常量、变量、函数和运算符组成。单个常量、变量、函数调用形式可看作表达式的特例,称为初等表达式。运算符左边的操作数称为左操作数,右边的叫右操作数。 6.2 算术运算 1.整数运算 加减乘除运算、单目运算符负号-将整数符号取反。求余运算符%计算整数相除所得的余数,如11%4为11/4的余数3。 a.整数运算结果为整数。整数相除返回整数部分,舍去小数部分,编译器不同舍入方法不同。11/4结果是2,1/3结果为0,1/5*5结果不为1。 b.除法运算除数不能为0,求模运算操作数必须为整型,因此不能进行除零和模零运算。 c.运算符的执行顺序由优先级决定,单目运算符负号-优先级高于加减乘除,乘除优先级高于加减。 可以用括号运算符标明或改变计算顺序,括号的表达式总是先执行。四则运算符为左结合。 2.实数运算:实数运算的结果为实型。 3.字符运算

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值