/*------------------------------------------------- varargs.c -- use variable number of arguments -------------------------------------------------*/ #include <stdio.h> #include <stdarg.h> double sum(int, ...); int main() { double s, t; s = su…
/*----------------------------------------- mems.c -- 使用 memcpy() 和 memmove() -----------------------------------------*/ #include <stdio.h> #include <string.h> #include <stdlib.h> #define SIZE 10 void show_array(const int ar[], int n);…
/*---------------------------------------- qsorter.c -- 用 qsort() 排序一组数字 ----------------------------------------*/ #include <stdio.h> #include <stdlib.h> //提供函数 rand() 原型 #define NUM 40 void fillarray(double ar[], int n); void showarray(const…
/*------------------------------------- rect_pol.c -- 把直角坐标转换为极坐标 -------------------------------------*/ #include <stdio.h> #include <math.h> #define RAD_TO_DEG (180 / (4 * atan(1.0))) typedef struct polar_v { double magnitude; double angle;…
/*------------------------------------- predef.c -- 预定义宏和预定义标识符 -------------------------------------*/ #include <stdio.h> void why_me(void); int main() { printf("The file is %s.\n", __FILE__); printf("The data is %s.\n", __DATE_…
/*-------------------------------------- names_st.h -- names_st 结构的头文件 --------------------------------------*/ #ifndef NAMES_ST_H #define NAMES_ST_H #include <string.h> #define SLEN 32 //结构声明 struct names_st { char first[SLEN]; char last[SLEN]; };…
第16章讲的是分页机制和动态页面分配的问题,说实话这个一开始接触是会把人绕晕的,但是这个的确太重要了,有了分页机制内存管理就变得很简单,而且能直接实现平坦模式. ★PART1:Intel X86基础分页机制 1. 页目录.页表和页 首先先要明白分页是怎么来的,简单来讲,分页其实就是内存块的映射管理.在我们之前的章节中,我们都是使用的分段管理模式,处理器中负责分段的部件是段部件,段管理机制是Intel处理器最基本的处理机制,在任何时候都是无法关闭的.而当开启了分页管理之后,处理器会把4GB的内存分…
第十四章 预处理器 我跳过了先进的指针主题的章节. 太多的技巧,太学科不适合今天的我.但我真的读,读懂.假设谁读了私下能够交流一下.有的小技巧还是非常有意思. 预处理器这一章的内容.大家肯定都用过.什么#include,#define #ifdef #undef这些,可是绝对用的不多.作为全面了解学C,还是应该都看一看. 预处理器使用方法非常讲究,用不好会失误,用好了会大大加快执行时速度(不是编译速度). 总结: C程序的第一个步骤就是预处理.预处理器共包括下面几个符号: 1.#define 定…
一.预处理器 1.介绍 基于CSS的另一种语言.通过工具编译成CSS.添加了很多CSS不具备的特性.能提升CSS文件的组织 2.less嵌套 3 .sass嵌套 4. less变量 5.sass变量 6.less mixin 7.sass mixin 8.less extend 9.sass extend 10.less loop 11.sass loop 12.less import 13.sass import 14.预处理器框架 二.工程化方案 1.PostCSS介绍 2.PostCSS插…
一.字符和字符串 1. Q:为什么strcat(string, '!')不行? A:strcat()用于拼接字符串,所以应该写成strcat(string, "!")."!"实际上包含两个字符:'!'和'\0'. 2. Q:为什么不能这样检查一个字符串是否跟某个值匹配? char *string; ... if (string == "value") { /* string matches "value"*/ } A:C语言中…