几个简单问题

zyb_debug 2008-04-21 05:15:19
问题一:
int *Values;
Values = new int [n];
这个是否表示 Values 这个指针 也可以看作为数组 只能有n个元素?
问题 二:
void IntList(const int A[];
我传进去的是个数组?

那么我调用这个函数
怎么写 是
int B[8]; IntList(B); 这样写对么?
如果我用指针表示数组
int *B=new int [8];
IntList(B); 这样写对么?
如果对是否就可以认为我传进去的就必须是个地址
...全文
61 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
guocai_yao 2008-04-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Supper_Jerry 的回复:]
2都是正确的。数组名就是指针。
[/Quote]
Supper_Jerry 2008-04-21
  • 打赏
  • 举报
回复
2都是正确的。数组名就是指针。
herman~~ 2008-04-21
  • 打赏
  • 举报
回复
问题一: 就一普通的指向整型数组的指针,把它看成一普通指针就OK。
你分配了n个元素的空间,自然就是n个元素
薛定谔之死猫 2008-04-21
  • 打赏
  • 举报
回复
问题一:
int *Values;
Values = new int [n];
这个是否表示 Values 这个指针 也可以看作为数组 只能有n个元素?
//C中数组和指针用法上有相似的地方,可以把数组看成指针常量,而普通的指针式可以为空的
问题 二:
void IntList(const int A[];
我传进去的是个数组?

那么我调用这个函数
怎么写 是
int B[8]; IntList(B); 这样写对么?
如果我用指针表示数组
int *B=new int [8];
IntList(B); 这样写对么?
如果对是否就可以认为我传进去的就必须是个地址
//在这里的用法是一致的,都可以
Maxwell 2008-04-21
  • 打赏
  • 举报
回复
你第2个问题的函数中最好加一个参数传入数组的个数,否则单独靠A是无法识别数组有多少个元素的。
Maxwell 2008-04-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 zyb_debug 的帖子:]
问题一:
int *Values;
Values = new int [n];
这个是否表示 Values 这个指针 也可以看作为数组 只能有n个元素?
问题 二:
void IntList(const int A[];
我传进去的是个数组?

那么我调用这个函数
怎么写 是
int B[8]; IntList(B); 这样写对么?
如果我用指针表示数组
int *B=new int [8];
IntList(B); 这样写对么?
如果对是否就可以认为我传进去的就必须是个地址
[/Quote]
1. 可以当作数组,能够合法使用的是n个元素,但是下标可以随便写,要小心溢出。
2. 都对。
实际上数组作为形参与指针做形参是一样的,数组进函数就弱化为指针了。
zyb_debug 2008-04-21
  • 打赏
  • 举报
回复
我一直在线
解决了 马上给分

64,652

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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