01_C语言的本质课程内容概述ARM架构与汇编简明教程
硬件结构
ARM汇编变量是什么
变量变量,能变,就能读能写,必定在内存里
全局变量、局部静态变量:如何分配空间、如何赋初始值
局部变量:如何分配空间,如何赋初始值栈、堆是什么
堆:就是一块空闲内存,可以使用malloc/free函数来管理它char *str;
str = malloc(100);
strcpy(str, "weidongsh
指针,大概是C语言中最难理解的概念之一了。指针这个东西是C语言中的一个基本概念,C99中对于指针的定义是:1. 指针的类型是derived from其它类型,也就是说指针的类型是由它指向的类型决定的;2. 指针是一种reference类型,即引用类型; 指针这个词出现在高级语言程序设计中,在汇编中,就没有指针这个概念,有的只是地址。计算机的每一个内存单元都是编址的,对内存的访问都是通过地址进行的
原创
2022-04-20 11:12:15
865阅读
指针,大概是C语言中最难理解的概念之一了。指针这个东西是C语言中的一个基本概念,C99中对于指针的定义是:1. 指针的类型是derived from其它类型,也就是说指针的类型是由它指向的类型决定的;2. 指针是一种reference类型,即引用类型; 指针这个词出现在高级语言程序设计中,在汇编中,就没有指针这个概念,有的只是地址。计算机的每一个内存单元都是编址的,对内存的访问都是通过地址进行的
原创
2021-07-13 17:43:53
467阅读
指针,大概是C语言中最难理解的概念之一了。指针这个东西是C语言中的一个基本概念,C99中对于指针的定义是:1. 指针的类型是derived from其它类型,也就是说指针的类型是由它指向的类型决定的;2. 指针是一种reference类型,即引用类型; 指针这个词出现在高级语言程序设计中,在汇...
转载
2014-06-30 13:08:00
153阅读
2评论
我们一段代码来研究函数调用的过程。首先我们写一段简单的小程序: int sum(int c, int d){ int
原创
2022-04-20 11:07:01
274阅读
我们一段代码来研究函数调用的过程。首先我们写一段简单的小程序: int sum(int c, int d){ inte = c + d; returne;} int func(int a, int b){ returnsum(a, b);} int main(void){ func(2,3); return0;} 通
原创
2021-07-14 10:28:29
366阅读
我们一段代码来研究函数调用的过程。首先我们写一段简单的小程序:int sum(int c, int d){ inte = c + d; returne;} int func(int a, int b){ returnsum(a, b);} int m...
转载
2014-07-24 13:22:00
122阅读
2评论
C语言的本质(3)——整数的本质与运算 计算机存储的最小单位是字节(Byte),一个字节通常是8个bit。C语言规定char型占一个字节的存储空间。如果这8个bit按无符号整数来解释,则取值范围是0~255,如果按有符号整数来解释,则取值范围是-128~127。C语言规定了signed和unsig...
转载
2014-06-30 12:33:00
65阅读
2评论
用C写程序比直接用汇编写程序更简洁,可读性更好,但效率可能不如汇编程序,因为C程序毕竟要经由编译器生成汇编代码,尽管现代编
原创
2022-04-19 17:30:28
1306阅读
点赞
用C写程序比直接用汇编写程序更简洁,可读性更好,但效率可能不如汇编程序,因为C程序毕竟要经由编译器生成汇编代码,尽管现代编译器的优化已经做得很好了,但还是不如手写的汇编代码。另外,有些平台相关的指令必须手写,在C语言中没有等价的语法,因为C语言的语法和概念是对各种平台的抽象,而各种平台特有的一些东...
转载
2014-07-24 13:26:00
156阅读
2评论
用C写程序比直接用汇编写程序更简洁,可读性更好,但效率可能不如汇编程序,因为C程序毕竟要经由编译器生成汇编代码,尽管现代编译器的优化已经做得很好了,但还是不如手写的汇编代码。另外,有些平台相关的指令必须手写,在C语言中没有等价的语法,因为C语言的语法和概念是对各种平台的抽象,而各种平台特有的一些东西就不会在C语言中出现了,例如x86是端口I/O,而C语言就没有这个概念,所以in/out指令必须用汇
原创
2021-07-14 10:28:27
275阅读
C语言的本质(15)——C语言的函数接口 函数的调用者和其实现者之间存在一个协议,在调用函数之前,调用者要为实现者提供某些条件,在函数返回时,实现者完成调用者需要的功能。函数接口通过函数名,参数和返回值来描述这个协议,只要函数名和参数名命名合理,参数和返回值的类型定义的准确,调用者仅仅通过函数接口...
转载
2014-07-17 15:33:00
78阅读
2评论
C语言的本质(7)——C语言运算符大全 C语言的结合方向 C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式 x-y+z则 y 应先与“-”号结合,执行 x-y 运算,然后再执行+z 的运算。这种自左至右的...
转载
2014-06-30 13:00:00
113阅读
2评论
数据类型转换的方式C 语言中的数据类型转换可分为隐式转换和显式转换两种。隐式转换隐式转换也可称作为自动转换,它经常以以下几种形式发生:1、在计算一个同时出现多种数据类型的表达式时,将所有数据类型都转换为同一种数据类型。2、在对数据进行输出时,按指定格式将数据输出。3、利用赋值运算符将数据转换为运...
转载
2014-06-30 12:47:00
60阅读
2评论