指针的运算:
指针可以进行比较,存放的为地址,地址是有顺序的
地址不可以求和,指针可以进行减法运算,不可以进行加法运算
字符型指针
const
修饰变量的时候,无法通过直接访问对其修饰的变量进行更改,可以通过指针进行间接修改
修饰指针:不能通过该指针修改其指向的变量
memcpy 内存拷贝
原型为:void *memcpy(void *dest,const void *src,size tn)
任何数据类型的数组都可以通过函数memcpy进行拷贝
当函数返回值为指针的时候,返回值为一个地址,它不可以返回局部变量的地址,不能返回生存期为动态生存期的地址
万能指针
void *p 可以接收所有数据类型,不能进行指针运算,降低程序的耦合性
动态内存分配(堆区)
函数:malloc,原型:void *malloc(size t,size)可申请需要的内存空间,字节量
申请的size大小一定是连续的,如果申请成功,会返回首字节地址,如果申请失败,会返回一个NULL指针
通过malloc申请的内存空间,需要函数free手动销毁