易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++中为二维数组分配内存

今天参加笔试,其中有两题是分配内存的,第一题是动态分配一个一维数组,第二个题是动态分配一个二维数组.第一题和第二题我分别是这样写的:
/*第一题*/
p=(float*)malloc(sizeof(float[M]));
/*第二题*/
p=(float*)malloc(sizeof(int[M][N]));
结果说我第二题错了,我还不明白错哪了,我又问写成M*N对不,结果还是说不对.刚查了一下,二维数组应该分别第一维和第二维分配空间,而我一次就分配了,所以错在这里了,正确的应该这样:
int i;
int **p;
p=(int*)malloc(sizeof(int)*M);/*给行分配空间*/
for(i=0;i<M;i++)
{
     p[i]=(int*)malloc(sizeof(int)*N);/*给列分配空间*/
}
整体意思就是分配M行,每行有N个单元,即第一维都是指向N个单元的指针.
参考:http://www.docin.com/p-2706237.html


相关文档:

Delphi 与 C/C++ 数据类型对照表

Delphi 与 C/C++ 数据类型对照表
Delphi数据类型C/C++
ShorInt
8位有符号整数
char
Byte
8位无符号整数
BYTE,unsigned short
SmallInt
16位有符号整数
short
Word
16位无符号整数
unsigned short
Integer,LongInt
32位有符号整数
int,long
Cardinal,LongWord/DWORD
32位无符号整数
unsigned long
Int6 ......

C问题集锦(一)

楼主发表于:2009-07-24 10:11:03是这样的,去一家公司面试,遇到了一道c语言的题,个人
感觉很怪,以前没见过类似的,然后主考官说这是关于C语言强弱类型转换什么的,我感觉他
自己都不完全清楚,然后回来在网上查到这是英国剑桥大学网上出的计算机题 :
#include <stdio.h>
#define init_employee(X,Y) {(X),(Y),wage ......

static C C++语义

存储期storage duration(extent), 指为对象配置的内存的存活期,比如local extent
生存空间scope,指对象在程序内的存活区域,即可被访问的范围,比如file scope, static scope, local scope
C
local static object
 函数内部的object,具有local scope,但是每次函数被调用后该对象的内存不清理,到下次调用还保 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号