[code] void alloc_mem_3(int **p, int num)//那位能解释一下为什么要传二级指针p,传一个一级指针为什么不行? { *p = (int *) malloc(num); } void alloc_mem_2(int *p, int num)//这里就是传的一级指针,为什么这里可以,而上面的不行? { int *q; q = (int *) malloc(num * sizeof(int)); *p = (int) q; } [/code] [ 本帖最后由 dxbh 于 2008-6-7 16:24 编辑 ]
by dxbh - C/C++ - 2012-11-27 14:44:06 阅读(1979) 回复(4)
小弟一直对指针,多级指针,引用感觉很模糊。看书上的教程觉得讲的都不难,但看别人代码时一出现,多级指针,引用时,就让小弟很迷惘。为什么要用引用,为什么要用多级指针。 1。引用是和变量通用一个内存空间,这样会提高效率,那是不是凡是用一级指针的地方,都用引用来的方便,来的好呢? 2。多级指针是指向指针的指针,那在实际应用中有什么区别呢?什么时候用多级指针,什么时候用一级指针? 小弟愚钝,希望各位老大能指点...
在c语言里,指针是大家公认的经典,可是它操作起来也比较的复杂,一级指针还好理解,可是二级指针不容易让人理解,使用起来更是复杂。 最近一直在研究指针,特别是二级指针的用法,还是不怎么理解,个人认为一级指针是不是已经能解决问题? 高手们能不能给说说二级指针到底该怎么理解,相对于一级指针,又有什么优越性? 期盼各位予以释惑,先谢了~~~
指向指针的指针 和 指向字符串的指针 和 二级指针 ============= 对比与联系?谁能把这几个概念区分开?最好举例说明,这个问题有点意思,有点深度。
这是给一个2维矩阵分配空间的程序段,当程序结束后,我想释放分配的空间,怎么释放比较好? free(array1)还是 for(i = 0; i < row1; i++){ free( *(array1+i)) ; } [code] int **array1; printf("input row1 and col1: \n"); scanf("%d%d", &row1, &col1); printf("row1 = %d, col1 = %d\n", row1, col1); array1 = (int** )malloc(ro...
代码如下,有错误,但我需要不开辟空间实现两个指针指向同样地质
怎么办呢?
#include