编辑
2025-11-27
算法题
00

目录

c语言学习日志:枚举 指针

枚举

枚举是 C 语言中的一种基本数据类型,用于定义一组具有离散值的常量,它可以让数据更简洁,更易读。

枚举类型通常用于为程序中的一组相关的常量取名字,以便于程序的可读性和维护性。

定义一个枚举类型,需要使用 enum 关键字,后面跟着枚举类型的名称,以及用大括号 {} 括起来的一组枚举常量。每个枚举常量可以用一个标识符来表示,也可以为它们指定一个整数值。

如果没有指定,那么默认从 0 开始递增。

若有指定,则从指定位置开始

enum DAY
{
MON=1, TUE, WED, THU, FRI, SAT, SUN
};
enum DAY day;

如该代码 枚举从1位置开始进行枚举

下面举一个实例,加深一下印象

枚举和switch的联动

#include <stdio.h>
#include <stdlib.h>
int main()
{

enum color { red=1, green, blue };

enum color favorite_color;

/* 用户输入数字来选择颜色 */
printf("请输入你喜欢的颜色: (1. red, 2. green, 3. blue): ");
scanf("%u", &favorite_color);

/* 输出结果 */
switch (favorite_color)
{
case red:
printf("你喜欢的颜色是红色");
break;
case green:
printf("你喜欢的颜色是绿色");
break;
case blue:
printf("你喜欢的颜色是蓝色");
break;
default:
printf("你没有选择你喜欢的颜色");
}

return 0;
}

我们可以看出enum实质(个人理解哈!不一定正确):定义一个从1-n的的数字列表,将枚举元素和1-n这一数字列表一一对应,分配到同一内存空间,因此数字列表1就指向枚举元素1,枚举元素1就指向数字列表1。其实有点类似于指针数组,指针以一定的占用空间一位一位的往后移,每一个地址的位置就对应相应的指向的元素

指针

1.算数运算:指针可以进行四种算术运算:++、--、+、-

比较:指针之间可以进行大小比较(其对应的是指针指向地址的前后位)

2.指针数组

只给出相关定义,因为比较简单

C 指针数组是一个数组,其中的每个元素都是指向某种数据类型的指针。指针数组存储了一组指针,每个指针可以指向不同的数据对象。指针数组通常用于处理多个数据对象,例如字符串数组或其他复杂数据结构的数组

3.指向指针

该图十分的清晰直观,注意指向指针要这么定义 int **x

C中传递指针给函数

C 语言允许您传递指针给函数,只需要简单地声明函数参数为指针类型即可。

下面的实例中,我们传递一个无符号的 long 型指针给函数,并在函数内改变这个值

实例:

当上面的代码被编译和执行时,它会产生下列结果:

Average value is: 214.40000

函数返回指针

只需要声明一个可以返回指针的函数即可

实例如下

函数指针

定义:指向函数的指针变量

函数指针类型的声明:

typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数、返回值的函数指针类型

定义实例:该程序实现了指针p指向函数max

** **

回调函数

实质:在函数B中调用函数A这一过程就是回调函数(没什么特别的)

本文作者:Bond

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 未经许可不可尚自转发本站内容 许可协议。转载请注明出处!