C 语言中的优先级

先看一段代码:

 1 /*********************************************************************
 2  * @fn      bdAddr2Str
 3  *
 4  * @brief   Convert Bluetooth address to string. Only needed when
 5  *          LCD display is used.
 6  *
 7  * @return  none
 8  */
 9 char *bdAddr2Str( uint8_t *pAddr )//ownMacAdd[6]
10 {
11 #define B_ADDR_STR_LEN    15
12
13   uint8_t     i;
14   char        hex[] = "0123456789ABCDEF";
15   static char str[B_ADDR_STR_LEN];
16   char        *pStr = str;
17
18   *pStr++ = ‘0‘;
19   *pStr++ = ‘x‘;
20
21   // Start from end of addr
22   pAddr += B_ADDR_LEN;
23
24   for ( i = B_ADDR_LEN; i > 0; i-- )
25   {
26     *pStr++ = hex[*--pAddr >> 4];
27     *pStr++ = hex[*pAddr & 0x0F];
28   }
29
30   *pStr = 0;
31
32   return str;
33 }

看到这段代码,我首先就想到了优先级。经过测试得出优先级为:

*优先级大于 --、++的优先级。

时间: 2024-08-06 20:02:19

C 语言中的优先级的相关文章

C语言中的运算符优先级

C语言中的运算符优先级问题,一般是不要求我们记的,但如果能记住,对快速理解代码和编程是有很大帮助的:若能快速记住,何乐而不为呢? 如果你喜欢,建议先下载我整理的运算符优先级pdf文档(http://download.csdn.net/detail/n289950578/7964209),对照一起看,更有助于理解. 1.优先级: 为了理解方便,将优先级分为六大类,速记为<非123赋>: 非运算符  () [] . ->: 单目运算  (!&* 右->左): 双目运算  (左-

[c语言]运算符的优先级与结合性

c语言中运算符的优先级和结合性常常被人混淆一谈,本文目的在于简单谈谈两者的区别.本文举几个简单的例子说明,这些运算符也特别常用. 首先要明白的是:优先级决定表达式中各种不同的运算符起作用的优先次序:而结合性则在相邻的运算符的具有同等优先级时,决定表达式的结合方向. [赋值运算符“=”] 对于赋值运算符来说,常会用到的是连续赋值的表达式.比如“a=b=c”. 这里的变量b的两边都是赋值运算,优先级当然是相同的,那么应该怎么理解这个表达式呢?我们知道,赋值表达式具有“向右结合”的特性,这就表示这个表

c语言中结构体指针

1.指向结构体的指针变量: C 语言中->是一个整体,它是用于指向结构体,假设我们在程序中定义了一个结构体,然后声明一个指针变量指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到指向运算符"->". 举例说明: struct SunLL { int a; int b; int c; }; struct SunLL  * p;               //定义结构体指针 struct SunLL A = {1,2,3};    //定义一个SunLL类型的变量A

[转]C语言中自增自减运算符教学探究-中国论文网

摘要:C语言教学中,自增自减运算符运用得非常广泛,且具有一定的使用技巧和难度.在诸多运算符中,自增自减运算符是学生最难理解和最易出错的运算符.对自增自减运算符的功能和具体应用进行探究,以期为提高C语言教学效果提供帮助.中国论文网 http://www.xzbu.com/8/view-3865031.htm 关键词:C语言:自增自减运算符:教学效果 中图分类号:G434文献标识码:A文章编号:1672-7800(2012)012-0188-02 0引言 C语言编程设计中,若合理使用自增自减运算符,

黑马程序员--C语言中的指针(6)

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 本章小结 1. 指针是C语言中一个重要的组成部分,使用指针编程有以下优点: (1)提高程序的编译效率和执行速度. (2)通过指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双向数据通讯. (3)可以实现动态的存储分配. (4)便于表示各种数据结构,编写高质量的程序. 2. 指针的运算 (1)取地址运算符&:求变量的地址 (2)取内容运算符*:表示指针所指的变量 (3)赋值运算 ·把

理解C语言声明的优先级规则

A 声明从它的名字开始读取,然后按照优先级顺序依次读取. B 优先级从高到低依次是:    B.1 声明中被括号括起来的那部分    B.2 后缀操作符:         括号()表示这是一个函数,而         方括号[]表示这是一个数组.    B.3 前缀操作符:星号*表示 "指向-的指针". C 如果const和(或)volatile关键字的后面紧跟类型说明符(如int,long等),那么它作用于类型说明符.在其他情况下,const和(或)volatile关键字作用于它左边

C语言中从大到小的顺序排列《学习记录》

一.前言 终于走到了指针,走到了翘首期盼的指针.指针是c语言中一个重要的概念,也是c语言最精彩的部分.正确而灵活的运用它,可以是程序简洁.紧凑.高效,每一个学习c语言的小伙伴都应该深入的学习和掌握指针. 本节目标 指针是什么 指针变量 通过指针引用数组 通过指针引用字符串 二.指针是什么 为了了解指针的概念,我们先来看一个小故事. 话说福尔摩斯派华生到威尔爵士居住的城堡去取回一个重要的数据.白天,在书房里,威尔爵士当着福尔摩斯和华生的面亲自将数据锁在了书柜中编号为3010的抽屉,用手电筒一照,只

简单讲解C语言中宏的定义与使用

宏定义是预编译功能的一种, 预编译又称为预处理, 是为编译做的预备工作的阶段.处理#开头的指令, 比如拷贝 #include 包含的文件代码,#define宏定义的替换,条件编译等. 使用宏定义的好处:使用宏定义的好处:可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改.例如 π 这个常量,我们有时候会在程序的多个地方使用,如果每次使用都重新定义,一来比较麻烦,二来容易出错,所以我们可以把 π 做成宏定义来使用.   语法说明: (1)宏名一般用大写 (2)使用宏可提高程序的通用性

【C语言】符号优先级

一. 问题的引出 今天看阿里的笔试题,看到一个非常有意思的题目,但是很容易出错. 题目:如下函数,在32bit系统foo(2^31-3)的值是: Int foo(int x) { return x&-x; } 解答:如果想要答对这道题目,首先要清楚C语言中符号的优先级别,负号(-)的优先级高于^,所以2^31-3=2^28,还有一个陷阱就是C语言中认为^为异或运算而不是幂函数,所以2^28=30,然后计算30 & -30得出结果.又因为计算机内存中的数据是以二进制的补码形式存在的,所以参与