首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

VLA与多维指针的有关问题

2012-04-06 
VLA与多维指针的问题本人初学c语言 ,大家多关照哈怎么在不支持VLA 的编译器里定义变长的二维数组总是会报

VLA与多维指针的问题
本人初学c语言 ,大家多关照哈 

怎么在不支持VLA 的编译器里定义变长的二维数组
总是会报错,我想过方法,语言表达能力不太好,弄个程序表示一下我的想法,比如
#include<stdlib.h>
#include<stdio.h>
int main(void)
{  
  int size;
  int **p,i;
   
  p=(int*)malloc(size*sizeof(int));
  for(j=0;j<size;j++)
  {
  p[i]=malloc(size*sizeof(int));  
  }
  return0;
}

还有用calloc()去初始化数组 ,怎么弄啊  
高手帮忙指出错误,谢谢啊 ,万分感谢啊

[解决办法]

C/C++ code
#include<stdlib.h>#include<stdio.h>int main(void){       int size=10;    int **p,j;    p=(int**)malloc(size*sizeof(int*));    for(j=0;j<size;j++)    {        p[j]=(int*)malloc(size*sizeof(int));       }    return 0;}
[解决办法]
C/C++ code
#include<stdlib.h>#include<stdio.h>#define SIZE 10int main(void){      // int size=10;    int * p[SIZE],j;    //p=(int**)malloc(size*sizeof(int*));    for(j=0;j<size;j++)    {        p[j]=(int*)malloc(size*sizeof(int));       }    return 0;}calloc()就是malloc()+memset();calloc(个数, sizeof(每个元素)) 

热点排行