| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2905 人关注过本帖
标题:C中数组个数难道真的不能用变量?
只看楼主 加入收藏
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
 问题点数:0 回复次数:4 
C中数组个数难道真的不能用变量?

    看我这本书的时候,有很多数组题目都需要用到动态内存分配,就是数组先用一个变量整数,等终端输入该数字以后就做为该数组的个数,我都用过,好象都不能定义,恳请各位大虾给个解决方法.谢谢了!

搜索更多相关主题的帖子: 变量 内存 定义 数字 
2007-05-28 01:35
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 
动态数组需要用到申请堆中的空间来实现,使用函数calloc(),原形如下:
void *calloc(size_t num,size_t size );  //在堆中申请size*num个字节的空间
用法如下:

#include <stdio.h>
#include <malloc.h>

int main( void )
{
int *buffer;

buffer = (int *)calloc( 40, sizeof( int ) ); //申请长为40的int型动态数组
if( buffer != NULL )
printf( "Allocated 40 integers\n" );
else
printf( "Can't allocate memory\n" );

buffer[0]=1; //现在你可以像使用数组一样来使用buffer

free( buffer ); //别忘了用完后要归还buffer指向的堆中的空间
}
2007-05-28 02:55
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 
  谢谢!

深山苦学C语言,终年不见外面世界。
2007-05-28 09:18
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
int arrayLEN=0;
int *array=NULL;
printf("请输入整型数组的长度:");
scanf("%d",&arrayLEN);
getchar();
array=(int*)malloc(sizeof(int)*arrayLEN);

free(array);

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-05-28 10:00
duwei
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-5-31
收藏
得分:0 
c中的数组的大小不能动态定义
数组的大小不依赖与程序运行过程中变量的值!
2007-05-31 15:33
快速回复:C中数组个数难道真的不能用变量?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015194 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved