12 2022 档案
摘要:读写文件与printf、scanf关联 printf -- 屏幕 -- 标准输出 scanf -- 键盘 -- 标准输入 perror -- 屏幕 -- 标准错误系统文件: 标准输入 -- stdin -- 0 标准输出 -- stdout -- 1 标准错误 -- stderr -- 2 应用程序
阅读全文
摘要:字符串处理函数: #include <string.h> 字符串拷贝: strcpy: 将 src 的内容,拷贝给 dest。 返回 dest。 保证dest空间足够大。【不安全】 char *strcpy(char *dest, const char *src); 函数调用结束 返回值和 dest
阅读全文
摘要:函数指针: 指向该函数的指针 首先区别一下函数名与数组名的区别: #include <stdio.h> int Add(int x, int y) { return x + y; } int main() { printf("%p\n", &Add); printf("%p\n", Add); re
阅读全文
摘要:一级指针,就是对指针指向的内存直接操作。 二级指针: 可以传递而二级指针 可以传递一级指针变量地址 test(arr);//可以传存放一级指针的数组 void test(int** pa) { **pa = 20; } int main() { int a = 10; int* pa = &a; i
阅读全文
摘要:指针数组: 指针数组就是一个存放指针的数组。 //指针数组 #include <stdio.h> int main() { int a[5] = { 1,2,3,4,5 }; int b[] = { 2,3,4,5,6 }; int c[] = { 3,4,5,6,7 }; int* arr[] =
阅读全文
摘要:浮点数在内存的表示方式根据国际标准 IEEE(电气和电子工程协会)754,任意一个二进制浮点数 V 可以表示成下面形式: (-1)^s * M * 2^E (-1)^s 表示符号位,当s=0,V为正数;当s=1,V为负数。 M 表示有效数字,大于等于1,小于2。 2^E 表示指数位。 举例来说 IE
阅读全文
摘要:移位操作符:对二进制数进行移动<<左移操作符:左边丢弃,右边补0>>右移操作符:逻辑右移:就是不考虑符号位,右移一位,左边补零即可算术右移:需要考虑符号位,右移一位,若符号位为1,就在左边补1;否则,就补0所以算术右移也可以进行有符号位的除法,右移n位就等于除2的n次方 左边第一位代表符号位,1代表
阅读全文
摘要:1.预编译 -E xxx.i预处理文件 gcc -E xxx.c -o xxx.i 头文件展开。 不检查语法错误,可以展开任何文件 宏定义替换。 将宏名替换为宏值 替换注释 变成空行 展开条件编译 根据条件来展开指令 2.编译 -S xxx.s 汇编文件 gcc -S xxx.i -o xxx.s
阅读全文
摘要://数组名是什么?数组名是首元素的地址//但是有两个例外 sizeof(数组名)-数组名表示整个数组-计算的是整个数组的大小单位是字节 #include <stdio.h> int main() { int arr[10] = { 0 }; int sz = sizeof(arr); printf(
阅读全文