int* 申明的数组 长度
时间: 2023-12-28 20:04:02 浏览: 27
在使用 `int*` 申明的数组中,长度是不确定的,因为它只是一个指向整型变量的指针,可以通过指针进行动态的内存分配,也可以指向一个已经存在的数组,此时数组的长度由该数组的定义确定。如果要确定一个动态分配内存的 `int*` 数组的长度,需要在分配内存时记录数组长度,或者使用一个单独的变量来保存数组长度。
相关问题
int*数组的长度怎么求
在 C 或 C++ 中,如果你有一个指向数组的指针,可以使用 sizeof 操作符来获取数组的长度。例如,假设有一个名为 arr 的 int 类型数组,你可以这样获取它的长度:
```c++
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(int);
```
在这个例子中,sizeof(arr) 会返回整个数组的字节数(在 32 位系统上通常是 20),而 sizeof(int) 返回一个 int 类型的字节数(通常是 4),因此 arr 数组的长度可以通过将两个值相除得到。在这个例子中,size 最终的值为 5,因为数组中有 5 个元素。
int* 数组与int数组的区别
在C++中,int* 数组和 int 数组都是用于存储一组整数值的数据结构,但它们的定义方式和使用方式有所不同。
int* 数组是指针数组,它存储了一组指向 int 类型数据的指针。例如:
```
int* arr[5]; // 定义一个指针数组,包含5个元素,每个元素都是 int 指针类型
```
这个数组中的每个元素都是一个 int 指针,可以通过循环遍历数组中每个元素,并使用指针访问指向的 int 类型数据。
而 int 数组则是一个由整数值组成的数组。例如:
```
int arr[5]; // 定义一个包含5个元素的 int 数组
```
这个数组中的每个元素都是 int 类型的整数值,可以通过循环遍历数组中每个元素,并直接使用整数值进行计算操作。
总的来说,指针数组适用于需要动态分配内存或者需要动态修改数组大小的情况,而 int 数组适用于存储一组固定大小的整数值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)