`

关于*与++的优先级

 
阅读更多

C中一元运算符*和++具有相等的优先级,但它们在结合时是从右向左的。

例:

#include<stdio.h>

int data[2] = {100,200};
int moredata[2] = {300,400};

int main(void)
{
	int *p1,*p2,*p3;

	p1 = p2 = data;
	p3 = moredata;
	printf("*p1 =%d, *p2 = %d, *p3 = %d\n",*p1,*p2,*p3);
	printf("*p1++ = %d,*p2++ = %d,(*p3)++ = %d\n",*p1++,*p2++,(*p3)++);
	printf("*p1 =%d, *p2 = %d, *p3 = %d\n",*p1,*p2,*p3);
	
	return 0;
}

 执行结果为:

*p1 =100, *p2 = 100, *p3 = 300

*p1++ = 100,*p2++ = 100,(*p3)++ = 300

*p1 =200, *p2 = 200, *p3 = 301

请按任意键继续. . .

 

在执行*p1++时是指针p1自增1而不是指针所指向的数据自增1.

 

0
0
分享到:
评论

相关推荐

    指针(*p++ , (*p)++, *(p++), *p+2)与结构体遍历

    1,指针,区分*p++ , (*p)... 这两个符号的运算优先级相同,运算顺序由右向左。如下 分析上述4种表达式的运算顺序, 1)由于运算顺序由右向左,则*p++ 与 *(p++)和*(p+1)结果相同,先计算++,再*解引用,结果是先进行指

    在C语言中*p++与(*p)++的区别

    *与++的优先级同处在第二级别上。他们的优先级是一样的,又因为处在第二级别的优先级运算符是结合方向是从右到左,所以当出现*p++这样的表达式的时候,根据优先级别相同,并且结合方向是从右到左,所以等价于*(p++)...

    cortex_m3的中断优先级描述及设置

    - **子优先级**(Sub-priority):当两个或多个具有相同抢占式优先级的中断同时到达时,它们将按照子优先级的高低顺序依次被处理。 #### 三、中断优先级组别的设置 NVIC 通过一个特殊的寄存器——APINT 来控制整个...

    C语言符号优先级,提供参考

    - **++ --**:前缀自增自减运算符,作用于单个变量。 - **+ -**:正号和负号运算符,用于表示数值的正负。 - **指针运算符** `*` 和 `&`:分别用于获取指针所指向的数据和取得变量的地址。 ### 三、乘除余三,加减...

    C语言运算符优先级1

    例如,`a = b + c * d`,这里乘法`*`的优先级高于加法`+`,所以先计算`c * d`,然后再将结果与`b`相加。 在处理复杂的表达式时,理解运算符优先级至关重要。举个例子,`x = a++ + ++b;` 这样的语句可能产生不同的...

    C 运算符优先级.docx

    C++ 运算符优先级和结合性 C++ 语言中有多种运算符,了解它们的优先级和结合性对于编写正确和高效的代码非常重要。下面是 C++ 中所有运算符的优先级和结合性列表。 ### 单目运算符 * `++` : 后缀递增 * `--` : ...

    C语言运算符及其优先级汇总表口诀

    根据给定文件的信息,我们可以总结出关于C语言运算符及其优先级的相关知识点: ### C语言中的运算符 在C语言中,运算符是用于执行特定类型计算的基本操作符号。它们可以分为不同的类别,并且每种运算符都有其特定...

    jira项目管理系统使用指南.pdf

    jira项目管理系统使用指南.pdf是一份关于jira项目管理系统的使用指南,旨在帮助用户快速掌握jira系统的使用方法,提高项目管理效率。 在该指南中,首先介绍了项目管理系统的简介,包括系统涉及的角色、基本概念、...

    C语言优先级结合性自加理解

    在C语言编程中,正确理解和运用运算符的优先级与结合性,特别是在处理自加运算符“++”时,是至关重要的。这不仅关系到代码的正确性,还直接影响到程序的性能和可读性。通过本篇对C语言优先级、结合性和自加运算符的...

    运算符优先级与结合性

    乘法、除法和取模运算符用于数值计算,其中乘法和除法的优先级相同,高于加减运算符,而取模运算符的优先级与它们相同。 4. **加减** (优先级4): `+`、`-`。加法和减法运算符用于合并数值,它们的优先级低于乘除...

    处理器优先级调度

    - **静态优先级**:进程在创建时被赋予一个固定的优先级,不会随时间改变。 - **动态优先级**:根据进程的行为(如等待时间、CPU利用率等)动态调整优先级。 3. **优先级调度算法**: - **非抢占式调度**:一旦...

    Java运算符+(优先级、目数)+.doc

    了解运算符的优先级和目数对于编写高效、准确的代码至关重要。在Java中,运算符按照其功能分为不同的类别,并且有不同的结合性和目数。 1. **点运算符(.):** 这个运算符用于访问类的成员,包括方法和字段。例如,`...

    编程中c语言符号的优先级

    "C语言符号优先级详解" C语言符号优先级是C语言中运算符的执行顺序,了解C语言符号优先级对编程至关重要。本文将详细讲解C语言符号优先级,包括优先级规则、单目运算符、双目运算符、赋值运算符、逻辑运算符、条件...

    快速划分测试用例的优先级快速划分测试用例的优先级

    - **成本效益**:权衡测试投入与预期收益,优先测试能带来最大价值的用例。 3. **优先级划分方法**: - **专家判断**:由项目团队中的专家根据经验和专业知识来划分。 - **矩阵法**:利用RACI(负责人、批准人、...

    C语言运算符的优先级与结合性

    ### C语言运算符的优先级与结合性 在C语言编程中,理解运算符的优先级和结合性是非常重要的,因为这直接决定了表达式的计算顺序。本文将详细解析C语言中各类运算符的优先级与结合性,并通过表格形式直观展示。 ###...

    C语言中运算符优先级全

    8. **第八优先级**: 按位与运算符 `&` - 对两个操作数的二进制位进行逐位与运算。 9. **第九优先级**: 按位异或运算符 `^` - 对两个操作数的二进制位进行逐位异或运算。 10. **第十优先级**: 按位或运算符 `|` ...

    PROTEL+DXP2004教程

    - **优先级设置(Priorities):** 单击对话框左下角的“Priorities”按钮可以调整不同规则之间的优先级,确保设计过程中遵守更高级别的规则。 - **双面板设置:** 对于双面板设计,默认规则通常适用于大部分情况,...

    从语言优先级及优先级口诀

    在编程语言中,运算符的优先级是至关重要的,它决定了表达式的计算顺序。了解这些优先级可以帮助我们正确地编写代码,避免出现错误的结果。以下是对标题和描述中提到的“优先级口诀”的详细解释: 1. **括号运算符*...

    C++ 运算符优先级列表

    - **++/--** (后置自增/自减运算符): 在表达式中对变量进行自增/自减操作。 - 示例: `for(i = 0; i ; i++)` 循环中每次迭代后自增。 - 示例: `for(i = 10; i &gt; 0; --i)` 循环中每次迭代后自减。 - **左至右关联...

Global site tag (gtag.js) - Google Analytics