摘要:c:宏的使用 一、宏的说明 1、本质: 宏的本质是字符串替换。 2、参数: 宏,可以带参数。 3、宏参数常量化(#): 宏参数,可以被转化为“常量字符串”。宏参数常量化,取消“宏的参数”的变量名、函数名、宏名等功能。实现方法:#macro_parameter_name 4、合并标识符(##): “#
阅读全文
随笔分类 - c
c语言编程
摘要:计算机科学(cs):负数的补码为什么是“绝对值取反+1”? 一、补码 1、答:计算机所有的数字都表示为补码。在计算机中,正数、零、负数,都可以采用补码表示。补码,统一了数字在计算机中的表示方法。 2、补码:将所有的数字都采用或部分采用“非负数”的表示方法。非负数,补码是“非负数”本身;负数,补码是负
阅读全文
摘要:编程:C语言内存的堆栈模型 一、C语言内存的堆栈模型 1、内存的最小单位是字节(byte)。 2、栈:栈底是高地址,栈顶是低地址。栈空间的地址生长方向:从高地址到低地址。 3、堆:堆底是低地址,堆顶是高地址。堆空间的地址生长方向:从低地址到高地址。 二、C语言内存的堆栈模型示意图
阅读全文
摘要:asm:8086寄存器概述(intel - reg16bits) 一、 4个16位段地址寄存器 1、8086对存储器采用分段管理,4个段寄存器分别用于存放4个当前段的起始地址,又称为段基址寄存器。 CS(Code Segment) —— 代码段寄存器,CS用来存放“代码段”的地址,不能人工修改CS的
阅读全文
摘要:os:计算机术语之“编码”和“解码” 一、基本说明 1、信息,被赋予特定涵义的一组符号。 2、文字,能被人类识别出涵义的一组符号;文字,是被赋予特定涵义的一组符号。 3、机器码,能被机器识别出涵义的一组符号。 二、编码和解码 1、编码(编码:“文字” —> “机器码”): 编码,将“文字”转换为“机
阅读全文
摘要:c_header: system()(linux-stdlib.h) 一、源码 1 [root@rocky c]# cat systemcall.c 2 /* 3 * 4 * 5 * file_name = systemcall.c 6 * 7 * 8 * 9 */ 10 11 12 #includ
阅读全文
摘要:gnu_tools: gnu tools( GCC / Binutils ) 1. GCC: https://gcc.gnu.org/onlinedocs/ 1.1. CPP: The C Preprocessor(MACRO): https://gcc.gnu.org/onlinedocs/gcc
阅读全文
摘要:asm: gcc - c语言的内联汇编学习(linux_gcc_c) 一、基本说明 1、操作系统:rockylinux9 [root@rocky c]# uname -a Linux rocky 5.14.0-162.6.1.el9_1.0.1.x86_64 #1 SMP PREEMPT_DYNAM
阅读全文
摘要:c:对指针数组、数组指针、char数组、char指针的探究(费头发) 一、指针数组 1、指针数组: “指针数组”是“数组”;它是存储指针的数组。 2、指针数组的定义: 2.1、TYPE *pointer_array[SIZE] 2.2、" TYPE "是数据类型;" SIZE "是正整数。 2.3、
阅读全文
摘要:c: 可变参数 一、可变参数源码 1 [root@rocky c]# cat arg_test.c 2 #include<stdio.h> 3 #include<stdlib.h> 4 #include<stdarg.h> 5 #include<string.h> 6 7 8 9 10 void u
阅读全文
摘要:c语言——结构和指针 一、基础说明:成员运算符(.)和指针运算符(->) 0、变量的数据类型的说明:指针类型和非指针类型 0.1、指针类型的变量:指针类型,该变量需要赋予“地址”; 0.2 非指针类型的变量:非指针类型,此变量需要赋予相应的“常规数值”; 1、member-name1.member-
阅读全文
摘要:c_cpp:编译脚本regcc:编译当前目录的单文件源程序 一、说明 1、单文件的源程序:源程序是一个独立完整的文件。 2、regcc功能: 2.1、显示所有文件:在当前目录,显示所有文件; 2.2、显示可执行文件:在当前目录,显示所有可执行文件; 2.3、编译C源文件:在当前目录,编译所有的C源文
阅读全文
摘要:[qemu] windows11-qemu 简明教程 一、使用教程: 1 G:\qemuWorkspaces>dir 2 Volume in drive G is w_workspaces 3 Volume Serial Number is B8D4-6DEE 4 5 Directory of G:
阅读全文
摘要:[os]: linux 系统调用(syscalls) 一、基本说明: 1、操作系统:rockylinux8.5 2、此处系统调用的使用形式: c/cpp的库函数 1 wit@fedora tmp]$ man syscalls // 【系统调用使用方式:c语言的函数库形式】查看系统调用名称 2 3 4
阅读全文
摘要:c_cpp:多级指针 一、多级指针 1、多级指针(二级指针及以上),它们都指向前一级指针(pointer_M=&point_M-1,{M | M∈N且M∈[1,∞) } )。 示意: int varaible=80; int* pointer_1; pointer_n = &pointer_n-1;
阅读全文
摘要:c/cpp: 指针的双重赋值 一、指针使用、引用的运用 1、指针具有双重赋值的属性:第一重赋值,为指针变量赋值内存地址;第二重赋值,为指针变量所指的内存的存储空间赋予内容。 二、代码部分 1、c代码 1 [root@rockylinux tmp]# uname -a 2 Linux rockylin
阅读全文
摘要:cpp:' data_type * '被视为一个数据类型 一、结论 1、data_type *,它被视为一个数据类型; 2、data_type *,用于定义指针变量; 3、举例: int * pt = nullptr; // int* 被视为一个数据类型; 1 [root@rockylinux tm
阅读全文
摘要:gcc - include - 具体位置: 一、gcc - C - 头文件的具体位置 1、 查找命令:[root@rockylinux tmp]# gcc -xc -E -v - 2、 c-include的位置: [root@rockylinux tmp]# gcc -xc -E -v - #inc
阅读全文
摘要:c:struct之匿名struct 一、代码: /* * gcc11.1(c17) * */ #include <stddef.h> #include <stdio.h> // 定义常规struct和指针struct typedef struct { // 匿名struct的定义 struct{ c
阅读全文
摘要:c: macro define 复杂的宏定义 一、源码 [root@rockylinux tmp]# cat macro_define.c /** * 宏命定义的注意事项: * 1、带有参数的宏,参数使用时需要写在"()"之中,这样在宏展开时不会改变设计时的运算级别,保证结果正确; * 举例:#de
阅读全文

浙公网安备 33010602011771号