变量

字面常数存储于内存,现在的问题是若要将数值存储在内存,并在稍后取回使用,该如何进行? 变量(Variable)提供一个有名称的内存存储空间,变量可包含的信息包含变量数据类型、变量内存地址与变量.........

字面常量

在程序中写下 1、1.0、3.14159 这样的数值,这类数值称为字面常量(Literal constant),程序中若写下一个整数值,例如 1 这个数值的话,默认会是个 int 类型无正负号的数值,.........

数据类型

程序在执行的过程中,需要在内存空间中运算、存储信息,由于数据类型各不相同,存储时需要的容量不一,不同的数据要配给不同空间大小,因而有了「数据类型」(Data type)的规范。 C++ 中基本数据型.........

Hello! World!

学习程序语言的第一件事,就是得先学会在控制台(Console)上显示文本,也就是纯文本模式的显示,初学者往往必须先从控制台开始学习程序的编写与执行程序,这很枯燥,不若一些窗口化的开发环境编写起来有成就.........

C语言学习,入门教程

C语言学习,基础入门教程及学习笔记.......

二进制文件 I/O

使用二进制模式开启文件,在写入或读取文件时不会发生字符转换,数值在内存中的位是如何,写入文件时就是如何,而读入时也是相同。 要单纯地以二进制方式读取文件,可以使用 fread 函数,在读写时是使用.........

文本文件 I/O

文件的输出入定义在 stdio.h 标头文件,若要开启文件,可以使用 fopen,其函数原型定义如下: FILE* fopen( const char* filename, const char* mo.........

异常处理

在〈foreach 与数组〉中使用宏实现了 foreach,这是种创造新语法的概念,然而,由于宏编写与维护不易,C 代码中若使用了宏,也会增加调试的困难,基本上不建议定义过于复杂的宏。 若只.........

foreach 与数组

在处理数组时,经常会是从头至尾迭代数组元素,针对这类需求,现代语言中都有 foreach 之类的语法,C++ 11 之后也有提供,然而 C 语言没有。 透过宏,可以来创建简单的 foreach,以进.........

_Generic 选择

C11 提供了 _Generic 选择,用来模拟泛型程序,其本质是类似 switch 的选择陈述,不过是编译时期根据类型来选择展开的对象。例如: #define V_TYPE 0 #define WA.........

默认实参

C 本身不支持在定义函数指定默认实参,然而,可以透过结构与宏来处理,例如,若有个结构与函数如下: typedef struct { int a; double b; } foo_ar.........

宏简介

前置处理器语言,顾名思义,并不是 C 语言的一部份,而是编译过程中前置处理部份处理的简单语言,以最简单的 Hello, World 程序为例: #include <stdio.h> in.........