1 Star 0 Fork 1

一一哥/c语言文档

forked from 狐皮先生/c语言文档 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
1.10.txt 2.50 KB
一键复制 编辑 原始数据 按行查看 历史
狐皮先生 提交于 2023-01-13 12:48 +08:00 . 1.13 文档
1.do--->while
2.int n=10; int b[n]; b 是变长数组 b不可初始化赋值;
3.二分查找
4.strerror()将错误码(errno)变量改为字符串信息,返回成一个char*类型
errno 会保存一个错误信息的数字码,然后strerror(根据错误信息数字码)返回解释错误信息的
函数返回一个char*指针 打印出是什么错误
5.perror () 会直接打印错误信息,不需要加errno 不需要 printf 自己打印; 括号内会打印想加的东西;
6.字符分类函数
7.memcpy 拷贝所有类型 int char 内存拷贝函数(但是重叠内存拷贝出问题)
8.memmove拷贝类型到重叠的空间,不会出问题;
9.memcmp 比较内存空间num 个字节是否相等 memcmp(a,b,num) a>b return >0; a==b return 0; a<b return >0;
10.memset---内存设置函数 以字节为单位
//memset---char memset(char*pal,'x',5); x的ascii码 放入x到5个字节
11.结构体
结构体是什么 :是一些值的集合,可以说不同的类型集合在一起;
11.1struct tag {数据列表}名称;
12匿名结构体类型变量 想将地址给成员一模一样指向的指针,是非法的 会警告,虽然能用别用;
13.结构体内存对齐
13.1结构体第一个成员,对齐到结构体在内存中存放的0偏移处;
13.2从第二个成员开始,每个成员都要从对齐数(一个对齐数)的偏移数整数倍数的位置开始放
对齐数:成员本身大小与默认对齐数取较小值
13.3 最后一个成员内存完毕后 会补齐到结构体元素中最大对齐数的倍数
13.4 如果结构体中嵌套了结构体类型成员,要将嵌套的结构体对齐到自己的成员中最大对齐数的指数倍数,结构体的总大小必须是最大对齐数的整数倍,这里的最大对齐数:包含嵌套结构体成员的对齐数,的所以对齐数的最大值
14为什么结构体要数据对齐?
14.1不是所有硬件的平台都访问任意地址的任意数据的;某些硬件平台只能在某些地址处取某些取某些特定的数据(整型必须对齐在4的被除数 double必须访问八的偏移数)
,否则抛出的硬件异常
14.2. 结构体内存对齐:元素是按照定义顺序一个一个放到内存中去的,但并不是紧密排列的。从结构体存储的首地址开始,每个元素放置到内存中时,它都会认为内存是按照自己的大小来划分的,因此元素放置的位置一定会在自己宽度的整数倍上开始。
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/sunyiyi/c-language-document.git
git@gitee.com:sunyiyi/c-language-document.git
sunyiyi
c-language-document
c语言文档
master

搜索帮助