C语言能对硬件直接操作是什么意思,小弟初学者,请高手解答!非常感谢!!!

来源:百度知道 编辑:UC知道 时间:2024/05/15 18:08:59

就是直接操作内存。

因为计算机最终是按位bit存储在内存中的。
c语言可以直接对内存中的数据进行复制,移位等操作

实际上,从单片机角度考虑,c语言对硬件比如通讯端口的操作都是指对硬件地址进行操作,为了方便代码的编写和阅读,地址经常在*.h中作了宏定义,因此,编成过程中对硬件的操作,类似于对变量的操作。

也就是可以直接修改硬件信息。如指针,文件操作等。
建立文件:
FILE* pf;
pf = fopen("1.txt", "w+");//为写打开文件!
if(pf == NULL)
exit(1);//文件打开失败!!。。。。。。。。

。。。
fclose(pf);//关闭文件。。

就是直接读写硬件的寄存器
eg:
int temp;
temp = *((int *)addr0);

这就是读取硬件地址addr0中的数据赋值给temp

C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此有人把它称为中级语言。也就是说,C语言可以直接对物理地址进行操作。

学习指针是学习C语言中最重要的一环,能否正确理解和使用指针是我们是否掌握C语言的一个标志。

在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等,在前面已有详细的介绍。为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。 既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。 内存单元的指针和内存单元的内容是两个不同的概念。 可以用一个通俗的例子来说明它们之间的关系。我们到银行去存取款时, 银行工作人员将根据我们的帐号去找我们的存款单, 找到之后在存单上写入存款、取款的金额。在这里,帐号就是存单的指针, 存款数是存单的内容。对于一个内存单元来说,单元的地