字符串操作函数

1,字符串操作函数:
strlen:测量字符串长度
strcat:合并字符串
strcpy:复制字符串
strcmp:比较字符串


2,中文linux man 在线手册
http://os.51cto.com/linuxman/




3,手动申请内存
       void *malloc(size_t size);
size:申请多大的内存
返回值:成功则返回申请的内存的首地址

       void free(void *ptr);
释放内存:
ptr:用alloc系列函数申请的内存的首地址


       void *calloc(size_t nmemb, size_t size);
nmemb:几块内存
size:每一块内存有多大
返回值:成功则返回申请的内存的首地址


       void *realloc(void *ptr, size_t size);
拓展手动申请的内存:
ptr:拓展的内存的首地址
size:你想拓展成多大
ps:realloc执行过程:
(1)判断你的ptr地址后面的内存数够不够我们拓展,如果够的话,直接在后面申请内存,并不做其他操作,直接将ptr返回出来
(2)如果ptr地址后面空间不够,则会先申请一片新的大小为size的内存,将ptr的数据拷贝过去,再讲ptr的地址的内存释放掉,并且该函数返回一个新的内存地址
返回值:你应该用ptr这个指针继续接受,如果是NULL则不再引用



上面的函数,返回值为NULL代表操作失败






注意事项:
1,用alloc申请的内存为堆内存
2,用alloc函数申请的内存用完之后一定要调用free这个函数手动释放,否则将会一直占用空间
3,用alloc申请的内存,并没有初始化,里面的数据,值是不确定的
4,你需要用到这片内存来存放什么数据,就应该内存字节大小对齐
5,如果操作这样的内存,直接用你想要操作的数据类型给他赋值就好了








4,static volatile register const
const 关键字:
由const修饰的变量,会变成只读的权限


static 关键字:
1,由static修饰的全局变量,或者函数名,将具有文件作用域
2,由static修饰的局部变量会产生两个变化:
1,将会改变该变量在内存当中运行的段
2,这个变量只会初始化1遍

volatile 关键字:
英文翻译为易变的:由volatile关键字修饰的变量具有防止编译器优化的作用,该怎么编译就怎么编译,不需要一点优化这个变量
一般用在用外部硬件控制的变量,不是由软件控制

register 关键字:
寄存器:由register修饰的局部变量,系统会帮我们尽量申请一个寄存器来存放,这样有提速的效果
ps:不一定成功
1,只能修饰局部变量
2,不能static同在






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值