c语言指针* p++什么意思?

如题所述

*p++就是先取出指针p指向的地址单元的数据,之后再将该值加1。

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

在c语言中 ++的优先级大于* i=*p++ 相当于 i=*(p++),又相当于 i=*p; p++; 但并不像bkldhldbk所说"*p++就是:p自身加1后取该指针所指的值" 。

扩展资料

C语言特有的特点:

1、C语言是一个有结构化程序设计、具有变量作用域以及递归功能的过程式语言。

2、C语言传递参数均是以值传递,另外也可以传递指针。

3、不同的变量类型可以用结构体(struct)组合在一起。

4、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。

5、部份的变量类型可以转换,例如整型和字符型变量。

发展历史

C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。

1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。

20世纪60年代,美国AT&T公司贝尔实验室(AT&T Bell Laboratory)的研究员Ken Thompson闲来无事,手痒难耐,想玩一个他自己编的,模拟在太阳系航行的电子游戏——Space Travel。

他背着老板,找到了台空闲的机器——PDP-7。但这台机器没有操作系统,而游戏必须使用操作系统的一些功能,于是他着手为PDP-7开发操作系统。后来,这个操作系统被命名为——UNIX。

参考资料:百度百科-C语言

温馨提示:内容为网友见解,仅供参考
无其他回答

c语言中* p++代表什么意思?
在C语言中,*p++表示对指针p所指向的值进行访问,并将指针p向后移动一个位置。具体解释如下:p:表示访问指针p所指向的值。p++:表示将指针p向后移动一个位置,即指向下一个元素。所以,*p++的执行顺序是先访问p指向的值,然后将指针p向后移动一个位置。需要注意的是,后缀递增运算符++具有较高...

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

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

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

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

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

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

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

c语言中(*p)++和*p++含义应该不同吧?
(*p)++ : 表示指针p所指的存储空间的值自加一次。p++ : 由于++的优先级高于*,所以先执行++,相当于*(p++);例:如有定义:int a[5]={10,20,30,40,50};int *p=a,b;如写成:b=*p++; 则b的值为10,p自加一次由a[0]的地址指向a[1]的地址(就是值为20的变量地址),其它不...

c语言中*(p++)是什么意思 *(++p)呢?最好列个例子 谢谢啦
'd','e'};char *p=&a[0];printf("%c\\n",*(p++));printf("%c\\n",*(++p));getch();} 输出:a c 分析:p指针开始指向数组第一个元素。所以 (p++)是指的第一个元素。然后p=p+1 所以p现在指向b (++p) 表示先把p+1,所以p现在指向c了。然后用打印就可以了。楼主好运!

相似回答
大家正在搜