指针的定义 指针的定义定义一个指针:1char *p 1char*p 哪个写法正确? 两个写法在语法上都是完全正确的。 编译器根本不在乎空格放在哪里,它甚至允许你写成 char*p(中间没空格)。 但是,学习C语言,应该使用第一种写法: ✅ 推荐写法:char *p;为什么?这里有一个 C 语言中非常著名的“视觉陷阱”。 1. 为什么 char* p 容易坑人?如果你习惯写 char* p,你的大脑会认 2025-12-30
C语言规范 C语言规范一、花括号{}的省略 省略花括号的唯一核心原则是: 核心原则:控制语句下方只有「一条语句」时当 if、else、for、while 或 do...while 的控制范围内只有紧随其后的第一条语句时,花括号 {} 可以省略。 二、缩进(tab)影不影响运行完全不影响。在 C 语言中,换行符、空格、Tab(制表符) 统称为“空白字符”(Whitespace)。对于编译 2025-12-24
float和double的爱恨情仇 float和double的爱恨情仇 特性 float (单精度) double (双精度) 内存占用 4 字节 (32 bit) 8 字节 (64 bit) 有效数字 约 6 ~ 7 位 约 15 ~ 16 位 精度评价 够用,但容易有误差 非常准,默认推荐 C语言写法 float x = 1.23f; double x = 1.23; 输入/输出 %f %lf 2025-12-24
运算符优先级判断技巧 运算符优先级判断技巧在C语言的逻辑里,**数学运算(算术)*的优先级高于*比较运算(关系) 第一层:非 (Unary / 单目) —— 霸道总裁 运算符: ! (逻辑非), ++, --, sizeof, ~, * (指针取值) 特点: 它们紧紧贴着变量,最先执行。比如 !a 或 i++。 第二层:算 (Arithmetic / 算术) —— 先算账 运算符: *, /, % 2025-12-23
二维内存分配做函数参数 二维内存做函数参数题目:1234567891011121314151617(语言: C)输入n×n阶矩阵(n最大为10),按如下函数原型/* 函数功能: 计算n×n矩阵中两条对角线上的元素之和 */int AddDiagonal(int a[N][N], int n);用函数编程计算并输出其两条对角线上的各元素之和。**输入提示信息:"Input n:" "Inp 2025-12-23
一维数组地址 一维数组地址一维背景123假设有int a[5],请问表示数组a中首元素的地址是什么?A: aB: &a 答案: a 深究数组地址:一、取地址运算符 &1int a; 如果 a 是一个 int 类型的变量,那么 &a 的结果类型是 **int \***(读作:指向 int 的指针) 怎么理解 & 符号?你可以把它当成一个动作。 a:代表“变量里的值”(在这个 2025-12-23
二级指针动态内存分配 二级指针动态内存分配背景123456789101112131415用动态数组编程输入任意m个班学生(每班n个学生)的某门课的成绩,计算最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。其中,m和n的值由用户从键盘任意输入(不限定m和n的上限值)。输入提示信息:"Input array size m,n:""Input %d*%d array:\n" 2025-12-17
动态内存分配 动态内存分配背景以前如果需要从键盘输入数组的范围并定义是行不通的。 只能定义一个较大的值作为数组的大小,此时数组长度必须在编译的时候确定 而动态数组允许你在程序运行过程中(Runtime)才决定数组的大小。 有: 12345678910111213语言: C)产生动态数组,编写程序,输入数组大小后,通过动态分配内存函数malloc产生数组。**输入格式要求:"%d" 提示信息: 2025-12-17
函数指针 函数指针背景:123456789编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 求1/1+1/3+...+1/n(要求利用函数指针编程)输入格式:"%d"程序运行示例1如下:10Even=1.141666程序运行示例2如下:9Odd=1.787302 代码实现:12345678910111213141516171819202 2025-12-14
辗转相除法的最简形态 辗转相除法的最简形态用最简单的代码求最大公约数 直入主题: 123int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b);} a一定要比b大吗?完全不需要这也是欧几里得算法(辗转相除法)最神奇、最“智能”的地方:它自带自动纠正(Auto-Swap)功能。 不管你传进去的是 gcd(大, 小) 还是 gcd(小, 2025-12-14