易截截图软件、单文件、免安装、纯绿色、仅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


相关文档:

VC++,Java到底该学那个?

现在很多人都问 C++和Java 哪个好. 其实技术上各有各的好处与不足,我想大家所说的好不好指得是前途好不好,赚的多不多.
 要说赚钱最多的肯定是C++了.因为一门技术是否值钱全看会它的人有多少而不在于这个技术本身的好坏. C++涉及硬件底层的东西比较多,学起来很复杂,会的人少,所以值钱. 
&nb ......

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 中 __int64用法

C 中,
int 和long的范围一样,只能表示(-2^31~2^31)整数,即(-20亿~ 20亿)
unsigned int 与unsigned long 范围是(0 ~2^32),40亿多一点。
    如果要表示更大一些的整数,这两种数据类型就不好用了,在ACM中经常要处理这样的数据类型,以前我的笨方法是做一个整形数组,每个a[i]存一位,这样加减 ......

C语言函数的出口:return语句(高质量c/c++编程指南)


C语言函数的出口:return语句(高质量c/c++编程指南) 收藏
今天看到了一篇关于c/c++语言中,对于函数出口处:return语句的正确性和效率性的检查问题。平时我们都不太看重return语句的,认为它简单,不是很重要,其实不然,return语句要是写的不好,很容易导致效率低下,甚至会出错!特别是在处理指针时。
下面看看要 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号