Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1617750
  • 博文数量: 268
  • 博客积分: 8708
  • 博客等级: 中将
  • 技术积分: 3764
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-06 15:58
文章分类

全部博文(268)

文章存档

2014年(1)

2013年(15)

2012年(23)

2011年(60)

2010年(51)

2009年(12)

2008年(59)

2007年(47)

分类: C/C++

2008-04-15 16:54:23

今天一同事问了个动态数组的问题,让他用vector闲麻烦,我晕。。。。。。。用malloc还突突了
看了点资料写了个测试代码。。。
#include "stdafx.h"
#include 

int _tmain(int argc, _TCHAR* argv[])
{
 int i = 10;
 int j = 10;
 char **a;
 a = (char **)malloc(sizeof(char *)*j);//分配一维的大小
 for (j=0; j<10; j++)
 {
  a[j] = (char *)malloc(sizeof(char)*i);//分配二维的大小
 }
 for(j=0; j<10; j++)
  for(i=0; i<10;i++)
  {
   a[j][i]='c';
  }
  for(j=0; j<10; j++)
  {
   for(i=0; i<10;i++)
   {
    printf("%c",a[j][i]);
   }
   printf("\n");
  }
  for(j=0;j<10;j++)  
   free(a[j]);   //free一维
  free(a);  //free二维的

  return 0;
}
 
阅读(3833) | 评论(1) | 转发(0) |
0

上一篇:Windows Controls

下一篇:函数

给主人留下些什么吧!~~

chinaunix网友2010-09-24 13:16:51

您这不是闲的吗? 为赋新词强说愁啊? 已经知道i和j了,直接定义数组不就可以了?例如:double xiande[10][10]; malloc的意义在于当维度为不可知的变量,需要在run time才能得知时才动态分配内存的。这样做用来练习是可以的,千万别误导了初学者这样去定义已知维度的数组啊。