声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2058|回复: 13

[C/C++] 如何将数组形参的大小用变量表达?

[复制链接]
发表于 2009-3-11 20:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
  1. int p=6;void show(double a[][6],int kk)
  2. {
  3.     int i=0,j=0;
  4.     for(i=0;i<kk;i++)
  5.     {
  6.         for(j=0;j<kk+1;j++)
  7.         {
  8.             printf("a[%d][%d]=%10.10f  \n",i,j,a[i][j]);
  9.         }
  10.      printf("\n");
  11.     }
  12. }
复制代码
如何把函数形参的a[][6]改成a[][p]?
p可以是全局变量。

[ 本帖最后由 风花雪月 于 2009-7-29 17:05 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-3-24 10:15 | 显示全部楼层
除非是const类型,否则不可以。
发表于 2009-3-24 12:01 | 显示全部楼层
用二级指针类型做虚参试试

[ 本帖最后由 lilili606 于 2009-3-24 12:03 编辑 ]

评分

1

查看全部评分

发表于 2009-3-27 13:56 | 显示全部楼层

恩 ,除非是const int 型的,否则不可以,但是我记得啊,说的不对别拍我,这有时候和编译器有关,当然C++标准里面肯定不准许,但是可能在VC++通过编译。你要是非得这么做,也就是用2级指针了。

评分

1

查看全部评分

发表于 2009-3-27 19:34 | 显示全部楼层
我现在 尽量用C#.....
C#...很方便 各种随意。。
 楼主| 发表于 2009-4-2 08:45 | 显示全部楼层

回复 板凳 lilili606 的帖子

谢谢啊,我现在经过查资料,知道用二级指针很方便,就是不知道具体的格式是怎么样的,你能不能给我写一个小例子,包括主函数怎么调用这个二级指针函数的部分。感激不尽!
 楼主| 发表于 2009-4-2 08:46 | 显示全部楼层

回复 地板 dizhuang 的帖子

给个例子吧,谢谢。
发表于 2009-4-2 12:29 | 显示全部楼层
动态数组?
发表于 2009-4-2 13:12 | 显示全部楼层
我对C不熟悉,用C++写了个例子 你看看能不能读懂,C的格式输出我一直就很晕:loveliness:
  1. #include <iostream>
  2. using namespace std;
  3. void show(double **a,int kk);
  4. int p=6;
  5. int main()
  6. {
  7.         int i=0,j=0;
  8.         double *a[2];
  9.         for(i=0;i<2;i++)
  10.         {
  11.                 a[i]=new double[p];
  12.         }
  13.         for(i=0;i<2;i++)
  14.                 for(j=0;j<p;j++)
  15.                         a[i][j]=1;
  16.         show(a,2);
  17.         return 0;
  18. }

  19. void show(double **a,int kk)
  20. {
  21.         int i=0,j=0;
  22.     for(i=0;i<kk;i++)
  23.     {
  24.         for(j=0;j<p;j++)
  25.         {
  26.             cout<<a[i][j];
  27.         }
  28.      printf("\n");
  29.     }
  30. }
复制代码

[ 本帖最后由 风花雪月 于 2009-7-29 17:04 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2009-4-3 13:02 | 显示全部楼层

回复 9楼 lilili606 的帖子

完全理解!写的很好,简明但不简单!我问的意思都表示出来了!我的问题也解决了,谢谢。现在看起来也不难,可能当初书上没给例子,我又认为这是一个很难的东西,所以出了几个错误就放弃了。
发表于 2009-4-3 14:22 | 显示全部楼层
明白就好,我就是不明白论坛为啥会把我写的  a[j]过滤成a[j]。。。。
 楼主| 发表于 2009-4-4 10:04 | 显示全部楼层

回复 11楼 lilili606 的帖子

哦,应该是a[j]吧
 楼主| 发表于 2009-4-4 10:04 | 显示全部楼层

回复 11楼 lilili606 的帖子

晕,我的也被过滤了,少了个i
发表于 2009-4-4 13:51 | 显示全部楼层
就是这样。。。。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-13 07:24 , Processed in 0.060180 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表