C语言下标运算符([])
借助于下标运算符 [](subscript operator),可以获取数组中单独的元素。下标运算符需要两个操作数。在最简单的情况下,一个操作数是一个数组名称,而另一个操作数是一个整数。
在下面的示例中,假设 myarray 是一个数组的名称,并且 i 是一个整数类型的变量。表达式 myarray[i] 指定该数组内的第 i 号元素,数组中第 1 个元素的编号为 0,换句话说,第 i 号元素是数组中第 i+1 个元素。
运算符 [] 的左操作数不一定需要是数组名称。一个操作数必须是一个指针类型表达式(例如,数组名称就是这类表达式的一种),同时,另一个操作数必须是整数。表达式 x[y] 等效于(*((x)+(y)))。下面的示例使用下标运算符初始化一个动态生成的数组。
在下面的示例中,假设 myarray 是一个数组的名称,并且 i 是一个整数类型的变量。表达式 myarray[i] 指定该数组内的第 i 号元素,数组中第 1 个元素的编号为 0,换句话说,第 i 号元素是数组中第 i+1 个元素。
运算符 [] 的左操作数不一定需要是数组名称。一个操作数必须是一个指针类型表达式(例如,数组名称就是这类表达式的一种),同时,另一个操作数必须是整数。表达式 x[y] 等效于(*((x)+(y)))。下面的示例使用下标运算符初始化一个动态生成的数组。
#include <stdlib.h> #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] 也是正确的,该表示方式也会生成相同的数组元素。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算