我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 怎么给数组分配空间....哪位蝈蝈帮菜鸟改下~ 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

kenneygf



性别: 帅哥 状态: 该用户目前不在线
头衔: 星星在眨眼~
等级: 前途无量
发贴: 6207
威望: 0
浮云: 1131
在线等级:
注册时间: 2004-05-22
最后登陆: 2009-07-12

5come5帮你背单词 [ income /'inkΛm/ n. 收入,收益,所得 ]


怎么给数组分配空间....哪位蝈蝈帮菜鸟改下~

rt..........


[ 此贴被kenneygf在2006-11-27 20:42重新编辑 ]
顶端 Posted: 2006-11-27 19:17 | [楼 主]
windsheng4



性别: 保密 状态: 该用户目前不在线
等级: 栋梁之材
家族: 润新lolicon联盟
发贴: 884
威望: 0
浮云: 1105
在线等级:
注册时间: 2005-07-12
最后登陆: 2008-04-07

5come5帮你背单词 [ arc /a:k/ n. 弧,弓,形,弧光,弧形物 ]


float **a,*p;
p = (int*)malloc(9*sizeof(float));
a = (int**)malloc(2*sizeof(float*));
  for(i = 0; i < c; i++)
    a = p + 4*sizeof(float);
忘了个P附空间了


[ 此贴被windsheng4在2006-11-27 23:16重新编辑 ]
顶端 Posted: 2006-11-27 19:53 | [1 楼]
disneycheng



性别: 帅哥 状态: 该用户目前不在线
头衔: Piano Prince
等级: 荣誉会员
发贴: 1971
威望: 1
浮云: 413
在线等级:
注册时间: 2005-12-16
最后登陆: 2008-06-29

5come5帮你背单词 [ monthly /'mΛnθli/ a. 每月的,按月计算的;ad. 每月一次,每月;n. 月刊 ]


....
数组是在堆栈中的一块内存.
不需要给他分配一块heap的内存....
你那个...汗....
顶端 Posted: 2006-11-27 20:05 | [2 楼]
windsheng4



性别: 保密 状态: 该用户目前不在线
等级: 栋梁之材
家族: 润新lolicon联盟
发贴: 884
威望: 0
浮云: 1105
在线等级:
注册时间: 2005-07-12
最后登陆: 2008-04-07

5come5帮你背单词 [ quench /kwent/ vt. 扑灭,熄灭,解渴;vi. 熄灭,冷却,平静下来,平息 ]


明显LZ是想动态分配二维数组.......
顶端 Posted: 2006-11-27 20:09 | [3 楼]
kenneygf



性别: 帅哥 状态: 该用户目前不在线
头衔: 星星在眨眼~
等级: 前途无量
发贴: 6207
威望: 0
浮云: 1131
在线等级:
注册时间: 2004-05-22
最后登陆: 2009-07-12

5come5帮你背单词 [ gallon /'gælən/ n. 加仑(液量单位) ]


Quote:
引用第1楼windsheng4于2006-11-27 19:53发表的:
float **a,*p;
for ( int i=0;i<3;i++)
{p=*a+i
  for(int j=0;j<3;j++)
  { t=(float *)malloc(sizeof(float)*3);
.......

float **a,*p;
for(int i=0;i<3;i++)
  {
    p=*a+i;
    for(int j=0;j<3;j++) p++=(float *)malloc(sizeof(float));
  }
free(a);

这个哇?


[ 此贴被kenneygf在2006-11-27 20:23重新编辑 ]
顶端 Posted: 2006-11-27 20:14 | [4 楼]
kenneygf



性别: 帅哥 状态: 该用户目前不在线
头衔: 星星在眨眼~
等级: 前途无量
发贴: 6207
威望: 0
浮云: 1131
在线等级:
注册时间: 2004-05-22
最后登陆: 2009-07-12

5come5帮你背单词 [ strong /stroŋ/ a. 强有力的,强壮的,坚强的,强硬的,强烈的,浓的 ]


顶端 Posted: 2006-11-27 20:17 | [5 楼]
kenneygf



性别: 帅哥 状态: 该用户目前不在线
头衔: 星星在眨眼~
等级: 前途无量
发贴: 6207
威望: 0
浮云: 1131
在线等级:
注册时间: 2004-05-22
最后登陆: 2009-07-12

5come5帮你背单词 [ math /mæθ/ n. 数学 ]


#include <stdio.h>
#include <math.h>
main()
{
int   i=0,j=0;
float **a,*b;
/*如果是在TC下运行 请添加
float *p=(float *)malloc(sizeof(float));
*p=cos(0.0);
free(p);
*/

for(i=0;i<2;i++)
  {
    b=*a+i;
    for(j=0;j<2;j++)
      {
      b=(float *)malloc(sizeof(float));
      scanf("%f",b);
      b++;
      }
  }


clrscr();

for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
printf("%f\t",*((*a)+(i*2+j)));
printf("\n");
}

getch();
}


蝈蝈帮我看下此程序错在哪儿了?

我是c菜鸟哈~

顶端 Posted: 2006-11-27 20:33 | [6 楼]
a-bomb



性别: 帅哥 状态: 该用户目前不在线
头衔: ‖四∷大∷淫∷魔∷之∷首‖
等级: 人见人爱
发贴: 3076
威望: 2
浮云: 1747
在线等级:
注册时间: 2004-03-31
最后登陆: 2015-06-12

5come5帮你背单词 [ outdoors /'aut'do:z/ a. 在户外,在野外 ]


LS的动态二维数组做得实在有点不敢恭维
我来给你写了一个

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

int main()
{
   int **a; /*注意这里是指针的指针*/
   int *p;

   int m;
   int n;

   int i, j, c=0;

   do
   {
       printf( "Input m=" );
       scanf( "%d", &m );
   }
   while( m < 1 );

   do
   {
       printf( "Input n=" );
       scanf( "%d", &n );
   }
   while( n < 1 );

   /************************************************
   * 以下四行动态分配数组
   *************************************************/
   a = ( int ** )malloc( m * sizeof( int * ) );
   /*
    这句分配的是一个指针数组
    也就是说,a 指向的这段内存空间里存放的是
    指针的值
   */

   for( i = 0; i < m; i++ )
   {
       p = ( int * )malloc( n * sizeof( int ) );    /*这句分配的才是数组*/

       a[ i ] = p;        /*给a的元素赋值,使它等于新分配的内存的地址*/
   }
   /*************************************************/


   /*************************************************
    这下面的就和一般的二维数组操作一样了 */
   
   for( i = 0; i < m; i++ )
   {
       for( j = 0; j < n; j++ )
           a[i][j] = ++c;
   }

   for( i = 0; i < m; i++ )
   {
       for( j = 0; j < n; j++ )
           printf( "a[%d][%d]=%-3d ", i,j , a[i][j] );
       printf( "\n" );
   }

   /**************************************************
    释放内存空间 */
   for( i = 0; i < m; i++ )
       free( a[i] );

   free( a );

   return 0;
}


总结一下:
1、要声明一个二重指针;
2、给二重指针分配内存空间,注意每一个元素应该是一个指针,即:指针数组;
3、再给指针数组里的每一个元素赋值,当然要先分配一块内存才得行哈
顶端 Posted: 2006-11-28 12:01 | [7 楼]
a-bomb



性别: 帅哥 状态: 该用户目前不在线
头衔: ‖四∷大∷淫∷魔∷之∷首‖
等级: 人见人爱
发贴: 3076
威望: 2
浮云: 1747
在线等级:
注册时间: 2004-03-31
最后登陆: 2015-06-12

5come5帮你背单词 [ september /sep'tembə/ n. 九月 ]


上面的代码是在VC里写的哈
顶端 Posted: 2006-11-28 12:03 | [8 楼]
kenneygf



性别: 帅哥 状态: 该用户目前不在线
头衔: 星星在眨眼~
等级: 前途无量
发贴: 6207
威望: 0
浮云: 1131
在线等级:
注册时间: 2004-05-22
最后登陆: 2009-07-12

5come5帮你背单词 [ spring /spriŋ/ B n. 弹簧,泉,源泉;vi. 弹跳 ]


多谢上面的蝈蝈~

嘎嘎~

我的头像都冒红眼啦~
顶端 Posted: 2006-11-28 13:34 | [9 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.031452(s) query 5, Time now is:11-24 04:06, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号