理解函数声明
设计内容
设计一个程序,当计算机启动的时候,硬件将调用首地址为0位置的子例程。
经过思考,获得
(*(void(*) ())0) ();
先暂不看下列内容,思考一下,这个语句,到底实现了什么功能?
预备知识
变量与函数的声明
C语言中,有以下的特点(规则)。
- 任何一个变量在使用前均需要声明。
int i = 0; //声明一个有符号整形变量 i ,并赋初始值为0
u8 buf[64]; //声明一个无符号8bit的数组 buf,长度为64,这种经常使用在单片机开发中
- 任何一个函数,在使用的时候,均需要对其进行声明。
void fun1(void); //声明一个函数fun1,没有输入的参数,没有返回的参数
u8 fun2(u8 para1); //声明一个函数fun2,输入参数为u8 para1,返回参数类型为u8
C语言也可以用指针来指向一个变量或者一个函数。
- 指向变量的指针
//ptr为指向整形变量的指针
int i =

本文探讨了C语言中的函数声明,强调在使用函数前需要声明,并介绍了指针的基本概念,包括指向变量和函数的指针。讨论了如何通过强制类型转换调用函数指针,并提出设计一个程序,使硬件在启动时调用首地址为0的子例程,引发对函数指针强制转换和安全性的思考。
最低0.47元/天 解锁文章
4118

被折叠的 条评论
为什么被折叠?



