关于sizeof、strlen、static、const、volatile、strstr等描述

1、sizeof(操作符)

用处:用于返回指定数据的大小(字节);

sizeof操作符可以应用于类型、变量、数组等,但不能应用于函数或不能确定类型的表达式。‌同时sizeof在编译时计算结果,因此可用来定义数组大小;

2、strlen(标准库函数)

用处:用于计算字符串的长度(字符数),不包括结尾符“\0”,虽然也占一字节的空间;

3、static(关键字)

用处:用于指定变量或函数的范围和生命周期,使其仅限于声明所在的作用域。

(1)修饰全局变量  限制全局变量的外部链接只能在当前文件中使用。

(2)修饰局部变量  存储位置由栈区改为静态区,延长局部变量生命周期,只会初始化一次。

(3)修饰函数         静态函数只能在当前文件中调用,防止与其他文件中的函数重名。

4、strstr(函数)

用处:用于在一个字符串中查找另一个字符串的出现位置;

5const(关键字)

用处:用于定义常量,强制其值在程序执行过程中不可修改,从而提高代码安全性、健壮性,并优化编译。

const变量声明时需初始化,const指针不能修改指向内容。它可以修饰多种数据类型,包括基本数据类型、数组和结构体。

const  修饰形参   表示形参 在当前函数中只读, 形参仍然在栈区 
const  指针            
3种情况:
            (1)const 修饰 *p                            const char *p; 
                表示 *p 只读  指针指向的内存空间只读 
            (2) const 修饰指针变量 p               char * const p; 
                表示 p 只读,即指针变量自己的内存空间是只读的 ;
                    意义  p指针 不能赋值  数组名  指针指向的空间 可以赋值; 
            (3) const 既修饰 p 有修饰 *            const char * const p; 
                    p 只读  *p 也只读;

6、volatile(特征修饰符)

用处:作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值;

7、memcpy(内存拷贝函数)

用处:编程中实现内存的复制操作;

注意memcpy不会检查目标内存区域是否足够大以容纳源数据,也不会进行空指针的检查。因此,在使用时需要确保传入的参数是有效的,以避免出现未定义行为或程序崩溃。‌

8、strcpy(字符串复制函数)

用处:将源字符串的内容复制到目标字符串中(包括“\0”);

注意目标字符串必须有足够的空间来存储源字符串及其结束字符,否则可能会导致缓冲区溢出。为避免这种情况,可以使用strncpy函数,它在复制指定数量的字符后会截断字符串,而防止溢出。

9、strcmp(字符串比较函数)

用处:比较两个字符串大小;

strcmp比较两个字符串的方法为一个字符一个字符一一比较(参考ASCLL)
标准规定:
第一个字符串大于第二个字符串,则返回大于0的数字;
第一个字符串等于第二个字符串,则返回0;
第一个字符串小于第二个字符串,则返回小于0的数字;

10、inline(内联函数)

用处:可以把函数指定为内联函数。这样可以解决一些频繁调用的函数大量消耗栈空间(栈内存)的问题,提高程序运行的效率。

【C++】内联函数----inline函数的详细使用教程-CSDN博客

PS:建议把1234789都实现一遍。

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值