[zt] (菜鸟问题)指针为什么要用malloc不明白?
来源:互联网 发布:avalon.js 被抛弃了吗 编辑:程序博客网 时间:2024/05/27 01:06
http://topic.csdn.net/u/20080922/13/60e16c28-d829-41da-9b86-35c90d8d3963.html
int * p;
p的确有空间,正如一个整型变量需要占用空间一样,指针变量也要占用空间。
可关键在于这个空间存放的什么?
整型变量的空间中存放着一个整数,指针变量的空间中则存放一个地址!
int a = 10000;
int * p = &a;
这样就有为a分配一个空间,里面存放了10000;
为p分配了一个空间,里面存放了a的地址(e.g 0x013024,呵呵)
(实际上,地址本身就是用整数表示,你可以printf("%d", (int)p);试一下喽)。
而malloc是什么意思呢,malloc实在程序动态运行的时候,在堆区heap中获取一块空间。
原型如下——
#define size_t unsigned int
void * malloc(size_t size);
你传进去个size,就可以获取size个字节的空间,然后返回一个void *指针,这个指针指向了这块新分配的空间
(也就是这个指针中的地址值为这块空间的首地址)
int * p = (int *)malloc(sizeof(int));
如上是动态创建一个int变量的程序。
这样,p中存放了malloc分配的空间的首地址,继而利用这个首地址访问malloc分配的空间。
- [zt] (菜鸟问题)指针为什么要用malloc不明白?
- 不明白为什么
- 为什么要用malloc函数
- 调查数据:为什么要用IPTV(zt)
- [zt] 有了malloc/free为什么还要new/delete?
- 数组指针malloc空间问题
- [ZT]为什么要数胎动?
- **********POJ Calendar(不明白为什么WA)
- 一个不明白的问题
- 为什么要用二级指针
- 为什么要用函数指针?
- 为什么要用二级指针
- 指针malloc的内存泄露问题
- 透过malloc()问题看底层讲解指针
- [zt] 什么是字节对齐,为什么要对齐?
- [zt] 什么是字节对齐,为什么要对齐? .
- 菜鸟的学习心得之为什么定义指针类型
- 索尼不明白为什么那么多人买PS4
- 查看Apache并发连接数及其TCP连接状态
- 「多播」WinSock下基于IP协议的多播实现示例
- ipk软件包制作
- Windows 2000 和 Windows Server 2003 TCP 功能的说明
- 将以更大的决心和勇气去学习
- [zt] (菜鸟问题)指针为什么要用malloc不明白?
- [zt] 有了malloc/free为什么还要new/delete?
- [IE9] IE9正式版发布(附官方下载链接)
- 在VMWare上跑openwrt
- [zt] 指针与数组的对比
- 计算帧速率
- [zt] C++内存管理
- 聊一聊DX字体
- 每日一练(python版本)