- 博客(3)
- 收藏
- 关注
转载 为什么不能用二级指针直接指向二维数组
!!!!二维数组和二重指针没有直接对应关系!!!!二维数组只需要取一次地址,通过指针的移动就可以遍历所有元素;而二级指针需要取两次地址。int a[3][4];int **p=a;是错误的,等价于**p=&a[0][0];那么p是a[0][0]的地址,*p=1,**p再取地址就出现段错误;但是指针字符串可以用(详细见本文)
2017-12-12 10:11:03 727
转载 数组名a和&a的区别
1、a表示&a[0],也即对数组首元素取地址,a+1表示首地址+sizeof(元素类型)。2、&a虽然值为数组首元素地址,但类型为:类型 (*)[数组元素个数],所以&a+1大小为:首地址+sizeof(a)。 &a取得是整个数组的地址!既数组名取地址等价于对数组取地址。在学习c语言的过程中我们可以发现一个一维数组的的数组名往往具有两层含义: *作为数组名代表
2017-12-01 18:57:34 1328
转载 为什么要用malloc函数
在C语言中,要进行动态内存的开辟就需要使用到malloc函数。malloc函数工作机制(1)malloc函数被调用时,它会沿空闲链表寻找一个可以满足需求的内存块,然后把所需大小的内存块分配给用户,剩下的返回到链表上。free函数被调用时,它将释放的内存块连接到空闲链表上。(2)到最后,空闲链表会被分成很多小的内存片段,当用户申请一块较大的内存空间时,空闲链表上可能没
2017-12-01 18:36:12 3427
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人