初始化数组的简单问题,快来啊!

zlj617 2003-09-30 10:09:13
getint()函数是个返回整形的函数,现在要用这个i值来初始化一个char数组,如char[i],我知道这样不对,但是怎样用这个i值来初始化这个数组呢?
...全文
32 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
junmayang 2003-10-03
  • 打赏
  • 举报
回复
同上,c99中新增了
applecjn 2003-09-30
  • 打赏
  • 举报
回复
不知道楼主什么意思
C++:
char *p = new char[i];
delete []p;
只能开辟一个大小为i的char数组
并不能初始化数组的值啊
RichRiver 2003-09-30
  • 打赏
  • 举报
回复
memset(void *,int ,size_t)
ningzhiyu 2003-09-30
  • 打赏
  • 举报
回复
楼主是说把数值int i用字符串的形式储存到char[]中,
如果是,申请动态内存的话,用fireseed(奶油狗) ( ) 的方法
然后用itoa()函数;
///
函数名: itoa
功 能: 把一整数转换为字符串
用 法: char *itoa(int value, char *string, int radix);
程序例:

#include
#include

int main(void)
{
int number = 12345;
char string[25];

itoa(number, string, 10);
printf("integer = %d string = %s\n", number, string);
return 0;
}


玄豹 2003-09-30
  • 打赏
  • 举报
回复
试一试:
将i定义为---->:
const int i;
lemon520 2003-09-30
  • 打赏
  • 举报
回复
写一个函数把i转换成char型呀!
zlj617 2003-09-30
  • 打赏
  • 举报
回复
刚才写错了,题是这样的,int i = getint(); getint()函数是个返回整形的函数,现在要用这个i值来初始化一个char数组,如char[i],我知道这样不对,但是怎样用这个i值来初始化这个数组呢?
fireseed 2003-09-30
  • 打赏
  • 举报
回复
C:
char *p = (char*)malloc(i);
free(p);


C++:
char *p = new char[i];
delete []p;
jinkang 2003-09-30
  • 打赏
  • 举报
回复
在C的99版的规范中,已经支持变量作数组的下标,如:
i=9;
char str[i];

但如果多维数组,只支持第一维是变量。

但是估计只有最新的编译器才支持。
lsy123 2003-09-30
  • 打赏
  • 举报
回复
char[] str;
for(int j=0;i!=0;j++) //当然也可以用其他做为结束符,不一定要是0
{
int i=getint();
str[j]=(char)i;
}
playboyxp 2003-09-30
  • 打赏
  • 举报
回复
这需要另外开辟内存
int *a=new int[i];
这样就行了

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧