目錄
零基礎(chǔ) C/C++ 學(xué)習(xí)路線推薦 : C/C++ 學(xué)習(xí)目錄 >> C 語言基礎(chǔ)入門
一.簡(jiǎn)介
*p++
/*(p)++/
_(p++)/
_p++運(yùn)算規(guī)律:
- 1.如果
*
和++
/--
都在指針變量的左邊裳凸,結(jié)合方向?yàn)閺挠业阶螅?/strong> - 2.如果
*
和++
/--
分別在指針變量的左邊/右邊,結(jié)合方向?yàn)閺淖蟮接遥?/strong> - 3.有括號(hào)的先執(zhí)行括號(hào)的表達(dá)式碎绎,然后在執(zhí)行規(guī)律 1 或者規(guī)律 2蝇狼;
A = | 第一步 | 第二步 | 得到計(jì)算結(jié)果 |
---|---|---|---|
*p++ | *p | p++ | 先取值阅畴,后指針++,A = *p迅耘; |
*++p | ++p | *(++p) | 先指針++贱枣,后取值, A = *(++p)颤专; |
++*p | *p | (*p)+1 | 先取值纽哥,后值++ ,A = (*p)+1栖秕; |
(*p)++ | *p | (*p)+1 | 先取值春塌,后值++ ,A = (*p)+1累魔; |
二.*p++
由于 ++
和 *
分別在指針變量的左右兩邊摔笤,結(jié)合方向?yàn)樽宰笙蛴遥虼怂葍r(jià)與 (*p)++
垦写。先引用 p
的值,實(shí)現(xiàn) *p
的運(yùn)算彰触,然后再使 p
地址自增 1
梯投。
/************************************************************************/
//@Author:猿說編程
//@Blog(個(gè)人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 *p++/*(p)++/*(p++)/*p++
//@Time:2021/06/18 08:00
//@Motto:不積跬步無以至千里,不積小流無以成江海况毅,程序人生的精彩需要堅(jiān)持不懈地積累分蓖!
/************************************************************************/
#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
int main()
{
int array[] = { 1,2,3,4 };
int *p = array;
printf("*p++ = %d \n", *p++); //先計(jì)算*p ,注意: i++ 與 ++i 區(qū)別
printf("*p = %d \n", *p);//由于*p++計(jì)算之后尔许,p地址偏移+1么鹤,所以 *p = 2
system("pause");
return 0;
}
/*
輸出:
*p++ = 1
*p = 2
請(qǐng)按任意鍵繼續(xù). . .
*/
三.*++ p/++ *p
由于 ++
和 *
都在指針變量的左邊,結(jié)合方向?yàn)樽杂蚁蜃?/strong>味廊,因此它等價(jià)與 *(++p)
或者 ++(*p)
蒸甜。
/************************************************************************/
//@Author:猿說編程
//@Blog(個(gè)人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 *p++/*(p)++/*(p++)/*p++
//@Time:2021/06/18 08:00
//@Motto:不積跬步無以至千里,不積小流無以成江海余佛,程序人生的精彩需要堅(jiān)持不懈地積累柠新!
/************************************************************************/
#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
int main()
{
int array[] = { 1,2,3,4 };
int *p = array;
printf("*++p = %d \n", *++p);//先將指針地址偏移+1,在取值
p = array;
printf("++*p = %d \n", ++*p);//先對(duì)指針取值辉巡,在對(duì)值做自加運(yùn)算
system("pause");
return 0;
}
/*
輸出:
*++p = 2
++*p = 2
請(qǐng)按任意鍵繼續(xù). . .
*/
四.* (p++)與*(++p)
*(p++)
:先對(duì)p
進(jìn)行*
運(yùn)算恨憎,再使p
自加;- **
*(++p)
:先使p
自加,再進(jìn)行*
運(yùn)算;** - ** 上面的原理和變量
i++
和++i
的原理相同郊楣;**
五.猜你喜歡
- 安裝 Visual Studio
- 安裝 Visual Studio 插件 Visual Assist
- Visual Studio 2008 卸載
- Visual Studio 2003/2015 卸載
- C 語言格式控制符/占位符
- C 語言邏輯運(yùn)算符
- C 語言三目運(yùn)算符
- C 語言逗號(hào)表達(dá)式
- C 語言 sizeof 和 strlen 函數(shù)區(qū)別
- C 語言 strcpy 和 strcpy_s 函數(shù)區(qū)別
- C 語言 memcpy 和 memcpy_s 區(qū)別
- C 語言 數(shù)組定義和使用
- C 語言 數(shù)組遍歷
- C 語言 數(shù)組排序 – 冒泡法排序
- C 語言 數(shù)組排序 – 選擇法排序
- C 語言 數(shù)組排序 – 插入法排序
- C 語言 數(shù)組排序 – 快速法排序
- C 語言 數(shù)組下標(biāo)越界
- C 語言 數(shù)組內(nèi)存溢出
- C 語言 數(shù)組下標(biāo)越界和內(nèi)存溢出區(qū)別
- C 語言 二維數(shù)組定義和使用
- C 語言 二維數(shù)組行數(shù)和列數(shù)計(jì)算
- C 語言 指針聲明和定義
- C 語言 指針 p++ / p–
- C 語言 p++/§++/_(p++)/_p++
未經(jīng)允許不得轉(zhuǎn)載:猿說編程 ? C 語言 *p++/*§++/(p++)/p++
本文由博客 - 猿說編程 猿說編程 發(fā)布憔恳!