c++数组与指针
作者:野牛程序员:2024-07-15 14:35:09 C++阅读 2373
c++数组与指针
C++ 中,数组与指针有密切的关系。以下是关于数组与指针的一些关键点:
数组
数组是一组相同类型元素的集合,通过连续的内存位置存储。数组可以通过索引访问。
int arr[5] = {1, 2, 3, 4, 5};
指针
指针是一个变量,其值为另一个变量的地址。指针可以用于动态内存分配、数组操作、函数参数传递等。
int *ptr; int var = 10; ptr = &var; // ptr 现在指向 var 的地址
数组与指针的关系
数组名作为指针: 数组名在表达式中可以作为指向数组第一个元素的指针。
int arr[5] = {1, 2, 3, 4, 5}; int *ptr = arr; // 等同于 int *ptr = &arr[0];
指针操作数组元素: 可以通过指针访问和操作数组元素。
int arr[5] = {1, 2, 3, 4, 5}; int *ptr = arr; for (int i = 0; i < 5; i++) { std::cout << *(ptr + i) << std::endl; // 输出数组元素 }
指针数组: 可以创建一个指针数组,其中每个元素都是一个指针。
int *arr[3]; int a = 1, b = 2, c = 3; arr[0] = &a; arr[1] = &b; arr[2] = &c;
数组指针: 数组指针是一个指向数组的指针,通常用于函数参数。
void printArray(int (*arr)[5], int size) { for (int i = 0; i < size; i++) { std::cout << (*arr)[i] << std::endl; } } int arr[5] = {1, 2, 3, 4, 5}; printArray(&arr, 5);
注意事项
数组名是常量指针,不能修改其指向。
指针可以进行算术运算,而数组名不可以。
动态分配数组时,需使用指针并手动管理内存。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892