c语言动态申请数组空间
时间: 2023-09-30 09:02:52 浏览: 62
C语言中,动态申请数组空间可以使用malloc()函数来实现。malloc()函数的原型如下:
```
void* malloc(size_t size);
```
其中,size_t是一个unsigned int类型的整数,表示需要申请的空间大小。malloc()函数返回一个void*类型的指针,指向申请到的空间的首地址。如果申请空间失败,malloc()函数将返回NULL。
下面是一个动态申请数组空间的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
printf("请输入数组大小:");
scanf("%d", &n);
int* arr = (int*)malloc(n * sizeof(int));
if (arr == NULL)
{
printf("申请空间失败!\n");
return -1;
}
for (int i = 0; i < n; i++)
{
arr[i] = i + 1;
}
for (int i = 0; i < n; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
free(arr);
return 0;
}
```
在上面的示例代码中,首先需要输入数组大小n,然后通过malloc()函数申请n个int类型大小的空间,将返回的指针强制转换为int*类型的指针arr。在申请空间后,需要判断返回的指针是否为NULL,如果为NULL则说明申请空间失败。接着,可以通过数组下标的方式访问动态申请的数组,将1~n的数存储到数组中,最后通过循环输出数组的所有元素。最后,需要注意的是,在程序结束前需要使用free()函数释放动态申请的空间,避免内存泄漏。
相关推荐
![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_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)
![](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)