关于int*初始赋值问题

ccanhuijun 2004-06-21 03:01:36
int* a = int[20];


怎么赋初值呀?

我是这样写的,不过觉得自己特傻,不知有没其他方法。

a[0]=1;
a[1]=2;

...

应该有简单的吧。

另外,我如果想定义一个
const int* a = new int[20] ;
有初始值的,要怎么写?
...全文
208 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wolf0403 2004-06-23
  • 打赏
  • 举报
回复
其实 const int* a = new int[20]; 是完全没有理由存在的,因为 const 主要是为了编译器优化的存在而存在,而编译器没法优化一块动态分配的内存,所以这个内存是否 const,其实是一个没有意义的问题。
Wolf0403 2004-06-23
  • 打赏
  • 举报
回复
typedef const int * const_int_array;
const_int_array create_array (const_int_array init, size_t init_len)
{
int * buf = new int[init_len];
for (int i = 0; i < init_len; ++i)
buf[i] = init[i];
return buf;
}

Hoho~
wyyhzcflying 2004-06-22
  • 打赏
  • 举报
回复
我试了,楼上的我没试出来,junnyfeng能否指点一下?谢谢!小弟刚出道不久,见笑了!
qwertasdfg123 2004-06-22
  • 打赏
  • 举报
回复
楼主的编译器是那个版本的。
willasw 2004-06-22
  • 打赏
  • 举报
回复
int* a = int[20];???
楼主用的什么语言啊???!!!
junnyfeng 2004-06-22
  • 打赏
  • 举报
回复
楼上的别耍我,
int main(void)
{
int i,buf[10]={1,2,3,4,5,6,7,8,9,0}; /* 你是说这样赋初值? */
for(i = 0; i < 10; i++)
printf("%d\n",buf[i]);
getch();
return 0;
}
这个怎么不成功??你对成功的定义是什么?
ccanhuijun 2004-06-22
  • 打赏
  • 举报
回复
如果我在CB里呢?
int const aa[20] = {2,2, ......};
const int* a = aa;
这个没试成功。
#include "Stdio.h"
#include "Conio.h"

int main(void)
{
int i,buf[10]={1,2,3,4,5,6,7,8,9,0}; /* 你是说这样赋初值? */
for(i = 0; i < 10; i++)
printf("%d\n",buf[i]);
getch();
return 0;
}
这个也没试成功
darkstar21cn 2004-06-22
  • 打赏
  • 举报
回复
int const aa[20] = {2,2, ......};
const int* a = aa;
darkstar21cn 2004-06-22
  • 打赏
  • 举报
回复
如果初始化值有规律的话,可以使用循环来赋值
darkstar21cn 2004-06-22
  • 打赏
  • 举报
回复
没有dephi能作,而C++不能作的
qwertasdfg123 2004-06-21
  • 打赏
  • 举报
回复
楼上说了。
applebomb 2004-06-21
  • 打赏
  • 举报
回复
#include "Stdio.h"
#include "Conio.h"

int main(void)
{
int i,buf[10]={1,2,3,4,5,6,7,8,9,0}; /* 你是说这样赋初值? */
for(i = 0; i < 10; i++)
printf("%d\n",buf[i]);
getch();
return 0;
}
ccanhuijun 2004-06-21
  • 打赏
  • 举报
回复
const a: Array[1..8] of Integer = (1, 2, 4, 8, 5, 5, 8, 7);


就比如这样的,就比较烦了


另外能定义

const char* a = new char[18];
再赋值么?应该不能吧,怎么赋初值?

ccanhuijun 2004-06-21
  • 打赏
  • 举报
回复
呵,C++好傻,人家Delphi都可以写在一行。5555
junnyfeng 2004-06-21
  • 打赏
  • 举报
回复
如果赋不同的值,你的做法是对的,而且大概只能这样做

如果要有相同的初值,写个循环就好办了

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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