社区
C语言
帖子详情
怎么在C语言中重新定义数组的长度
geniusmali
2003-12-13 05:09:25
比如,int a[],这时我需要重新定义a数组的长度为10,怎么定义?
...全文
1004
7
打赏
收藏
怎么在C语言中重新定义数组的长度
比如,int a[],这时我需要重新定义a数组的长度为10,怎么定义?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
glacierrr
2003-12-14
打赏
举报
回复
静态数组是不能改变长度的,只能用动态数组了。
关于recalloc,请看
http://expert.csdn.net/Expert/topic/2498/2498827.xml?temp=.6729547
zhangfjj
2003-12-13
打赏
举报
回复
我想应该还在,可以编个小程序测试一下呀。
binariman
2003-12-13
打赏
举报
回复
我插一句,如果用realloc那原来存在该空间的数据还在不在,如果是被覆盖了那就没意思了
应该是动态生长的,像vector一样
sboom
2003-12-13
打赏
举报
回复
Reallocate memory blocks.
void *realloc( void *memblock, size_t size );
zhangfjj
2003-12-13
打赏
举报
回复
只能使用动态存储管理函数。
其中有一个recalloc()的函数,用来对已使用malloc()、calloc()函数分配的存储空间大小进行改变,即重新分配。其原型是:
void * recalloc(void *ptr,unsigned int size)
ptr指向原来分配的存储空间
size是改变后存储空间的大小。
FormatQuickly
2003-12-13
打赏
举报
回复
a = malloc(length*sizeof(int));
calloc处也可以换成上一句
两句的区别是
calloc 为每个数组元素初始化为 0
而malloc不初始化
FormatQuickly
2003-12-13
打赏
举报
回复
#include <stdio.h>
#include <malloc.h>
int main()
{
int *a;
int i =0;
int length;
printf("Input the length :\n");
scanf("%d",&length);
a = (int*)calloc(length,sizeof(int));
for(i=0;i<length;i++)
{
a[i] = i;
printf("%d\t",a[i]);
}
return 0;
}
“关于
C语言
中
定义数组
长度
的注意事项及代码解释“
在
C语言
中
,
定义数组
时需要注意数组的
长度
,其
中
方括号内是常量表达式,代表数组
长度
,可以是常量,也可以是包含运算符的常量表达式,但不能包含变量,哪怕是静态变量或全局变量,但可以通过 #define 定义字符常量。而引用数组元素时,方括号内是表达式,代表下标,可以是变量。以下是一些
定义数组
长度
的注意事项及相应的代码解释。3.动态分配内存的注意事项: 如果使用动态分配内存来定义数��
长度
,要记得在使用完数组后及时释放内存,防止内存泄漏。在上面的代码
中
,循环访问了6个元素,而数组只有5个元素,会导致越界访问。
如何使用
C语言
动态
定义数组
长度
问题提出 在平时写程序的时候,经常遇到这样的场景,程序需要输入一个
长度
为n的数组,但是n是一个变量.在java
中
,我们可以这样直接定义: int n = scanner.nextInt(); int[] num = new int[n]; 但是在
c语言
中
,通过以下方式定义,是行不通的 int n; scanf("%d",&amp;n); int num[n]; 解决办法 我们可以使用下面的方法...
c语言
怎么获取数组的
长度
,
C语言
怎么获取数组的
长度
c语言
中
,
定义数组
后可以用sizeof命令获得数组的
长度
【可容纳元素个数】,通过传递数组名参数到子函数
中
,以获得数组
长度
是不可行的。
c语言
中
,
定义数组
后可以用sizeof命令获得数组的
长度
(可容纳元素个数)如:{int data[4];int length;length=sizeof(data)/sizeof(data[0]); //数组占内存总空间,除以单个元素占内存空间大小printf("l...
如何使用
C语言
动态定义动态数组
长度
2
如何使用
C语言
动态定义动态数组
长度
问题 在写程序时有时候需要定义一个
长度
为n的数组,但n是一个变量 在
C语言
中
一定不可以这样写: #include <stdio.h> int main () { int n; scanf("%d",&n); int num[n]; }
C语言
中
无法动态定义一个数组
长度
[^1] 解决思路 可以向计算机申请一个
长度
为n...
C语言
如何计算数组的
长度
(1)借助sizeof()函数 :#include<stdio.h>int main(){ // 定义一个整型数组, 并进行初始化赋值9个数据 : int arr[] = {1,2,3,4,5,6,7,8,9}; int length = 0; // 计算数组
中
数据
长度
: // 所有数据的字节数除以一个数据的字节数即为数据的个数 : length = sizeof(arr) / ...
C语言
70,037
社区成员
243,243
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章