C语言中,a=*p++什么意思?

如题所述

  a=*p++的意思是p指针指向的值赋给a,然后指针加一指向下个单元。

  C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。
  C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年 由 肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的。目前,C语言编译器普遍存在于各种不同的操作系统中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C语言的设计影响了许多后来的编程语言,例如C++、Objective-C、Java、C#等。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-09
你好,可以这么理解:

p 是一个指针变量,他所指向的变量的类型与 a 的类型一致。

p 指针指向的变量值是多少,那么 a 就等于该值。

之后 p 指针指向的那个变量值自加 1.

注意:变量 ++ 这种格式的表达式值是变量值本身,赋值之后变量值才自加 1.
第2个回答  2012-10-09
*与++都是同级单目运算,所以他们的运算顺序由结合方向决定的,他们具有自右向左的顺序,
a=*p++ 的意思是先将指针变量p指向的数据赋值给a ,然后 在将指针变量p加1,即指向下一个数据
第3个回答  2012-10-09
把p中的内容送入寄存器(实际上是个地址),然后p自增1,再通过寄存器中的地址寻址到内存中的值赋给a
问题的关键在于++运算符的优先级比*的优先级要高,由于是后++,所以a得到的是p自增之前指向的内存中的值
第4个回答  2012-10-09
*p指针指向的值 赋值给a 然后指针后移

一楼的说反了

c语言指针a=* p++什么意思?
a=*p++的意思是p指针指向的值赋给a,然后指针加一指向下个单元。C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。C语言是由UNIX的研制者丹尼斯·里奇(Dennis...

c语言中* p++的意思是什么?
p++是指下一个地址。++和*的优先级是一样的,不过它们计算时都是从右向左算的。

c语言中的* p++的意思是什么?
意思是根据*和++的优先级判断,那个高p就先和那个结合。c语言*p++ 就是先取出指针p指向的地址单元的数据,之后再将该值加1。由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据。具体如下:1、取数组当前位置的值*p;2、然后,p指向下一位置的数据。

c语言* p++是什么意思?
P++ :*和++都是同级运算符,右结合。但++要整个表达式运算完了才运算,先提取P指向对象的值,然后P再做++运算,指向下一个对象。*p++的意思就是先取出指针p指向的地址单元的数据,之后再将该值加1。下面具体区分 1、*p++:只将p加1 2、++p or p++:将p加1 3、++*p:将*p所指单元加1 ...

c语言中* p++是什么意思?
p++的意思就是先取出指针p指向的地址单元的数据,之后再将该值加1。由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据。具体如下:1、取数组当前位置的值*p;2、然后,p指向下一位置的数据。

c语言*p++是什么意思?
p++就是先取出指针p指向的地址单元的数据,之后再将该值加1。 由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据。 若果是*(p++),那么就是先将地址加1,之后取出新地址中的数据

c语言中,*p++是什么意思
p是一个指向某个数组的指针,那么*p++ 是表示两个意思:一、取数组当前位置的值*p 二、然后,p指向下一位置的数据。p=p+1

c语言中*p++和(*p)++有什么区别?
p++是指下一个地址。(*p)++是指将*p所指的数据的值加一。C编译器认为*和++是同优先级操作符,且都是从右至左结合的,所以*p++中的++只作用在p上,和*(p++)意思一样;在(*p)++中,由于()的优先级比*和++都高,所以++作用在()内的表达式*p上。比如有:intx,y,a[]={1,2,3,4,5},...

c语言中*p++ 、*(++p) 、(*p)++的作用分别是什么
p++ 先取到指针p指向的值,即*p,然后再给指针p加1,即让p指向下一个位置 (++p) 先给指针p加1,即让p指向下一个位置,然后取出p此时所指位置的值 (*p)++先取出p当前所指的值,然后给这个值加1,指针所指位置不变

c语言 *(p++)和*p++含义一样不
肯定不一样的:(p++):是将先p所指向内存地址值A移动一个存储单元(如果p是int型就移动4个字节,char型就移动1个字节,……)得到另一个地址值B,再取移动后的地址值B所存放的数据;p++:是先取出p指向内存地址值A存放的数据,再把这个数据加一。

相似回答