C语言知识总结

一、C基础
1.工程编译的过程:预处理》编译》汇编》链接
预处理:头文件展开、宏定义处理
编译:将每个独立的文件编译成汇编文件 a.c>a.s
汇编:将汇编文件编译成相应的目标文件 a.s>a.o
链接:将各个目标文件链接为可执行文件
2、一个执行的程序有哪些段:
1)code代码
2)data全局,静态,常量
3)堆:new,malloc分配的内存,需要delete free释放。如果不释放,只有等程序结束时,由操作系统回收,理论上无限大。
4)栈:由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。
3、static extern register const的作用
static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。
extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。
register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度。
const限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。

二、变量和数据类型
位操作:左移一位相当于乘以2.,按位右移一位相当于除以2
地址永远都是无符号整形数,所以大小都是4个字节
后加——先做其他运算再加,前加——先加再做其他运算
计算机中的数据存储是其补码,正数的补码是其本身 ,负数的补码=反码+1
三、
1、防止头文件被重复包含的宏开关
#ifndef_A_H_
#define_A_H_
#endif

2、变量的存储:
    Auto:自动存储类型 --默认
    Static  修饰局部变量——改变局部变量的存储域。静态变量放数据区,只初始化一次
            修饰全局变量——限定全局变量的作用域仅限于本文件,静态变量存放数据区,只初始化一次
    Extern 引进其他文件定义的全局变量或者函数
    Register:在短时间内被非常频繁地使用的局部变量可以定义为Register

3、字符串操作函数
strcpy(p, p1) 复制字符串 

strncpy(p, p1, n) 复制指定长度字符串
strcat(p, p1) 附加字符串
strncat(p, p1, n) 附加指定长度字符串
strlen(p) 取字符串长度
strcmp(p, p1) 比较字符串
strcasecmp忽略大小写比较字符串
strncmp(p, p1, n) 比较指定长度字符串
strchr(p, c) 在字符串中查找指定字符
strrchr(p, c) 在字符串中反向查找
strstr(p, p1) 查找字符串
strpbrk(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找该集合的任一元素
strspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任一元素的偏移
strcspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找属于该集合的任一元素的偏移

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值