- 博客(5)
- 收藏
- 关注
原创 C语言宏定义的使用,最强的MAX(a,b)
上一篇我们通过MAX(a,b)这个例子给大家简单的介绍了宏定义的那些坑。同时在最后也给大家留下了两个问题。如何使得宏能同时处理整型和浮点型。 两个不同类型但兼容的数据给MAX(),比如一个3.14和一个100,它应该如何得出正确结果。首先,我们先来解决第一个问题,要让我们的宏能同时处理整型和浮点型。因此我们不能在宏定义里固定为整型,而是要让程序自动获得宏参数的类型,代码修改如下:#include <stdio.h>#define MAX(a,b) \ ({\
2021-11-18 00:21:47
2569
原创 C语言宏定义的那些坑
在C语言中,宏具有不可替代的地位,宏分为两种:一种是不带参数的,另一种是带参数的宏。不带参数的宏很简单,例如#define PI 3.14 这样,在以后的程序代码中,凡是用到圆周率的地方都可以用PI来表示,这样写有两个好处,一是程序代码使用英文单词代替数字,使得程序更具有可读性;二是修改起来比较方便。下面我们用一道十分常见的例题来讲讲C语言宏定义的那些坑。出代码#include <stdio.h>#define MAX(a,b) a>b ? a:bi
2021-11-17 22:48:49
3614
原创 结构体和数组
结构体变量的定义:在C语言中可以用结构体来定义不同的数据类型。简单来说,结构体就是用户自定义数据类型的集合体。例如,定义一个学生的结构体。struct student{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在学习小组 float score; //成
2021-09-26 16:40:21
693
原创 C语言的二维数组和指针
二维数组:C语言中的二维数组在概念上是二维的,但C语言的内存分布是线性的,不存在二维的说法,所以C语言的二维数组在内存中是连续排列的,每个元素之间没有缝隙。例如:int a[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11} };从概念上理解,a 的分布像一个矩阵:0 1 2 34 5 6 78 9 10 11但实际在内存的分布是线性的,整个数组占用一块连续的内存0 1 2
2021-09-26 15:22:48
283
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人