c语言操作符是什么 50

操作符是什么概念呢比如说sizeof它与函数区别的在哪里能不能从汇编的角度解释下?... 操作符是什么概念呢 比如说sizeof 它与函数区别的在哪里 能不能从汇编的角度解释下? 展开
 我来答
忘至白葬不情必0T
推荐于2018-04-13 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
你可以把操作符理解为内置的,最基础的函数,它们无法完全被若干个未使用同类型操作符的函数所替代。比如加法运算符,你就不可能写出一个不用+或-的函数来实现任何情况下的加法功能。
运算符和函数还有一个重要区别。函数本身有一段代码,程序执行时,遇到函数时,会先将函数的参数入栈,再跳到函数的代码来运行。而操作符则是在本地直接运算。

比如
#include<stdio.h>
#include<string.h>

int add(int a,int b)
{return a+b;
}

void main()
{
int a,b;
b=a+1;
b=add(a,1);
}
编译后,查看汇编码如下:

11: b=a+1;
0040D458 mov eax,dword ptr [ebp-4] //取a的值
0040D45B add eax,1 //加上1
0040D45E mov dword ptr [ebp-8],eax //和赋给b
12: b=add(a,1);
0040D461 push 1 //参数1入栈
0040D463 mov ecx,dword ptr [ebp-4] //将参数a移到寄存器
0040D466 push ecx //参数a入栈
0040D467 call @ILT+0(add) (00401005) //调用函数add
0040D46C add esp,8 //释放参数占用的内存
0040D46F mov dword ptr [ebp-8],eax //结果赋给b

明显看出函数的调用过程比运算符要复杂。
百度网友eaba88f
2011-11-17 · TA获得超过874个赞
知道小有建树答主
回答量:358
采纳率:0%
帮助的人:134万
展开全部
操作符,我的理解就是数学运算、逻辑运算、位运算的符号啊....
而sizeof 则是C语言提供的一个基础的测试某种数据类型所占空间长度的《库函数》(注意是库函数)。
汇编则是针对于某种CPU而言的程序设计语言,不具有广泛的适用和移植性...
不懂可以HI我...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一变班爱麻啊堡0J
高粉答主

2020-01-13 · 醉心答题,欢迎关注
知道答主
回答量:11.4万
采纳率:2%
帮助的人:5758万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式