嵌入式学习

void assert(expression);

语句的含义是:当expression表达式的值为假的话,则整个程序会立刻停止运行,写在assert之后的语句被中断,不会执行。在使用assert函数时,要调用 #include<assert.h>

实际参数在向形式参数传递时,只发生:值传参!且 实参在传入时,禁止进行++,或  - -运算,防止因为编译器问题,运行出不可控的结果。

仅仅向形参传递实参的数值。因为形参会单独开辟一个新的内存空间,用来保存实参传递来的值。

当一个函数有多个参数是,如add(num1,num2); 在传递参数时先传入num2,再传入num1.

栈:先进后出原则

在Linux系统下的栈空间约为8M.

在大多数编程语言中,函数调用的执行是通过栈来管理的。每当一个函数被调用时,一个新的记录(称为"栈帧")被推入调用栈中,包含了函数的参数、局部变量和返回地址。当函数执行完成后,其对应的栈帧就会被弹出栈,并控制权返回到函数的调用点。这个机制支持了函数的嵌套调用和递归执行。

在c语言中,还有以下空间用于在程序运行时使用

1、堆区

2、字符串常量区

3、静态区(全局区)

4、代码区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值