C/C++
文章平均质量分 59
W说编程
10年研发经验,聚焦底层技术。
展开
-
C语言函数指针
在C/C++中,指向函数的指针变量称为函数指针,函数指针用于存放函数的地址,作为函数执行时入口地址。函数名代表函数的入口地址。本质上和定义函数的首部相同,但用指针的形式来定义,函数指针名需要有括号,否则变成了一个返回值是指针的函数声明。函数指针变量定义的一般形式如下。下节讲述如何通过函数指针实现回调函数。原创 2023-11-13 20:34:42 · 93 阅读 · 0 评论 -
指针指向字符串常量不可修改内容
在编译时没有直接显示限定指针指向的区域不可修改,C编译器并没有对此做出检查,所以编译不会报错,但运行时发生了对常量区的修改,所以会出现运行时错误。2. 在实际编程和开发过程中,应保持良好的编程习惯,对常量使用const关键字做显示限定,让程序在编译时能早期发现错误,避免运行时的错误难以定位,运行时错误也会带来段错误、程序异常退出等bug。以上代码编译时并不会报错,但运行时不会按预期在控制台输出信息,会异常退出。原创 2023-04-24 22:58:25 · 333 阅读 · 0 评论 -
C语言数组与指针区别
C语言中数组和指针是不同的原创 2023-03-26 18:54:27 · 71 阅读 · 0 评论 -
C语言联合体union详解与实例
和结构体类似,联合体(union)是C语言中一种自定义数据类型。联合体中可以定义多个类型的成员变量,但所有成员共享同一块内存区域,所以联合体在当前时刻只存储一个成员变量值。原创 2023-03-02 16:28:49 · 978 阅读 · 0 评论 -
C语言结构体位域定义详解与实例
位域也称为位段,C语言允许在结构体中以位为单位来指定其成员所占内存长度,这种以位为单位的成员称为“位段”或称“位域”( bit field) ,位域的使用可以更加节省内存资源。2.如果相邻位域字段的类型相同,但其位宽之和大于类型的sizeof大小,则后面的字段将从新的存储单元开始,其偏移量为其类型大小的整数倍;1.如果相邻位域字段的类型相同,且其位宽之和小于类型的sizeof大小,则后面的字段将紧邻前一个字段存储,直到不能容纳为止;4. 位域的长度不能大于该类型的长度,也不能定义位段数组。原创 2023-03-01 22:57:50 · 1488 阅读 · 0 评论 -
C语言结构体struct详解与实例
C语言中结构体(struct关键字定义)是一种自定义数据类型。通过结构体的定义可以将多种不同类型数据形成一个组合,是一个数据集。什么情况下使用结构体?结构体的定义具有一定面向对象思想,当一个对象具有多个属性类型数据去表达时,可以定义为结构体,比如学生,结构体成员包含姓名、年龄、学号、成绩。原创 2023-02-26 18:56:51 · 952 阅读 · 0 评论