如何查看数组指针指向数组的所有元素

本文详细介绍了在Windows环境下使用Visual Studio 2010和Linux环境下使用QtCreator进行变量查看的方法,特别针对数组元素的查看,为开发者提供了实用的调试技巧。

问题:

int TestFunc( int *array ){
    int sum = 0;
    for( int i = 0; i < 200; i++ )
        sum += array[i];
    return sum;
}

int main(){
    int array[200] = {0};
    TestFunc( array );
    return 0;
}

  在TestFunc函数中int sum = 0;语句处设置断点欲查看array数组的所有元素内容,变量查看器中如何设置变量名?

 

1. Windows + VS2010

array,200

2. Linux + QtCreator 3.3.0

(int[200])array

转载于:https://www.cnblogs.com/blue-box/p/8615302.html

### 数组指针指向一维数组的使用方法 在C/C++中,**数组指针**是一种特殊的指针类型,它指向一个完整的数组,而不是单个元素。当需要将数组作为参数传递给函数或动态访问数组时,这种指针非常有用。 #### 定义数组指针 要定义一个指向一维数组指针,可以使用以下语法: ```cpp 数据类型 (*指针名)[数组长度]; ``` 例如: ```cpp int (*p)[5]; // p是一个指向包含5个整数的一维数组指针 ``` #### 指针加减操作 由于数组指针指向的是整个数组,因此对其进行加减操作时,会按照整个数组的大小进行偏移。例如,如果`p`指向一个包含5个整型元素数组,那么`p + 1`会跳过这5个整型元素指向下一个数组[^4]。 #### 示例代码 以下代码展示了如何定义和使用指向一维数组指针: ```cpp #include <iostream> int main() { int a[5] = {1, 2, 3, 4, 5}; // 定义一个一维数组 int (*p)[5] = &a; // 定义数组指针并初始化为a的地址 for (int i = 0; i < 5; ++i) { std::cout << "元素 a[" << i << "] = " << (*p)[i] << std::endl; } return 0; } ``` 在这个例子中,`p`指向的是整个数组`a`,通过`(*p)[i]`可以访问数组中的每个元素[^4]。 #### 与普通指针的区别 - **普通指针**(如`int* p`)指向的是数组的第一个元素,加1操作只会移动到下一个元素。 - **数组指针**(如`int (*p)[5]`)指向的是整个数组,加1操作会跳过整个数组的长度[^2]。 #### 函数传参中的使用 在函数传参时,数组指针可以用于处理多维数组。例如,在传递二维数组时,可以通过数组指针来确保编译器正确理解数组的结构: ```cpp #include <iostream> void printArray(int (*arr)[5], int rows) { for (int i = 0; i < rows; ++i) { for (int j = 0; j < 5; ++j) { std::cout << arr[i][j] << " "; } std::cout << std::endl; } } int main() { int array[3][5] = { {1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15} }; printArray(array, 3); // 将二维数组传递给函数 return 0; } ``` 在这个例子中,`printArray`函数接受一个指向包含5个整数的数组指针,并能够正确地遍历二维数组的所有元素[^1]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值