动态内存
1.指针:malloc函数的用法 动态内存
- int i = 5 //分配了四个字节 静态分配
- int *p = (int *)malloc(4)
1.要使用malloc函数,必须田间malloc.h的头文件
2.malloc函数只有一个形参,并且形参是整型
3.malloc函数只能返回第一个字节的地址
4.int *强制类型转换,因为只返回了第一个字节地址,不知道时什么类型的地址。转换后知道 就知道 要几个字节进行划分 - 分配了8个字节 p 4个字节 p指向的内容也占四个字节
- p本身多占内存是静态分配,p所指向的内存是动态分配的
#include <stdio.h>
#include <malloc.h>
//通过f 修改*p的值 将这四个字节的内容改写
void f(int *q)
//q是p的拷贝q和p的内容一样
//q中也为那四个字节地址 *q代表这四个字节
{
//*p=200;//error p在main函数定义 只能在main中使用
*q = 200;
}
int main()
{
int * p = (int *)malloc(sizeof(int));
//sizeof(int)返回值是int所占的字节数
*