日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

C语言 指针 p++ / p-- - C语言零基础入门教程

發(fā)布時(shí)間:2024/9/27 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言 指针 p++ / p-- - C语言零基础入门教程 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 一.變量 i++/i–
  • 二.指針 p++/p–
    • 1.通過(guò)下標(biāo)訪問(wèn)數(shù)組元素
    • 2.通過(guò)指針偏移訪問(wèn)數(shù)組元素
  • 三.猜你喜歡

零基礎(chǔ) C/C++ 學(xué)習(xí)路線推薦 : C/C++ 學(xué)習(xí)目錄 >> C 語(yǔ)言基礎(chǔ)入門

一.變量 i++/i–

在前面的文章 自加自減運(yùn)算符(++ i /i ++) 中介紹了關(guān)于變量自增和自減的運(yùn)算,舉個(gè)例子:

int x = 10; x++; //等價(jià) x = x + 1 = 11 ++x; //等價(jià) x = x + 1 = 12 --x; //等價(jià) x = x - 1 = 11 x--; //等價(jià) x = x - 1 = 10

前++/后++的區(qū)別:

前--/后--的區(qū)別:

二.指針 p++/p–

指針: 指針相當(dāng)于一個(gè)變量,它存放的是變量在內(nèi)存中的地址,是十六進(jìn)制類型,它可以指向任意類型的數(shù)據(jù)。

**數(shù)組:****數(shù)組在內(nèi)存中是連續(xù)存放的,開(kāi)辟一塊連續(xù)的內(nèi)存空間**。數(shù)組是根據(jù)數(shù)組的下標(biāo)進(jìn)行訪問(wèn)的,多維數(shù)組在內(nèi)存中是按照一維數(shù)組存儲(chǔ)的,只是在邏輯上是多維的。

1.通過(guò)下標(biāo)訪問(wèn)數(shù)組元素

/******************************************************************************************/ //@Author:猿說(shuō)編程 //@Blog(個(gè)人博客地址): www.codersrc.com //@File:C語(yǔ)言教程 - C語(yǔ)言 指針 p++ / p– //@Time:2021/06/16 08:00 //@Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累! /******************************************************************************************/#include<stdlib.h> #include<stdio.h> void main() {int arr[5] = { 10,20,30,40,50 };int len = sizeof(arr) / sizeof(arr[0]); //獲取數(shù)組長(zhǎng)度f(wàn)or (int i = 0;i<len;i++){printf("arr[%d] = %d\n", i, arr[i]);}system("pause"); } /* 輸出: arr[0] = 10 arr[1] = 20 arr[2] = 30 arr[3] = 40 arr[4] = 50 請(qǐng)按任意鍵繼續(xù). . . */

2.通過(guò)指針偏移訪問(wèn)數(shù)組元素

指針作為一個(gè)變量,肯定有自己的地址,占位符使用 %p 或者 %x ;

int *p = 10; printf(" p : %p",p);// 輸出地址:004FF798

**指針作為一個(gè)變量,肯定有自己的值,占位符使用 %d ,取指針的值需要在指針變量前面加上 * ,否則是取指針的地址,**例如:

int *p = 10; printf(" p : %d",*p);// 輸出值: 10 printf(" p : %p",p); // 輸出地址:004FF798

數(shù)組在內(nèi)存中是連續(xù)存放的,所以可以通過(guò)指針偏移來(lái)訪問(wèn)數(shù)組,例如:

int arr[5] = { 10,20,30,40,50 }; int *p = arr; //等價(jià) *p = arr[0]; int value1 = *p++; // int value1 = arr[1]; int value2 = *p++; // int value2 = arr[2]; int value3 = *p++; // int value3 = arr[3]; int value4 = *p++; // int value4 = arr[4];

在上面的例子中,通過(guò)指針 p 指向數(shù)組 arr ,默認(rèn)指針 p 指向數(shù)組的第一個(gè)元素 arr[0],通過(guò) *p++ 偏移來(lái)獲取數(shù)組每一個(gè)元素對(duì)應(yīng)的值,通過(guò)指針偏移來(lái)變量數(shù)組,舉個(gè)例子:

/******************************************************************************************/ //@Author:猿說(shuō)編程 //@Blog(個(gè)人博客地址): www.codersrc.com //@File:C語(yǔ)言教程 - C語(yǔ)言 指針 p++ / p– //@Time:2021/06/16 08:00 //@Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累! /******************************************************************************************/#include<stdlib.h> #include<stdio.h>void main() {int arr[5] = { 10,20,30,40,50 };int* p = arr; //定義一個(gè)空指針int len = sizeof(arr) / sizeof(arr[0]);//計(jì)算數(shù)組長(zhǎng)度f(wàn)or (int i = 0; i < len; i++){//&arr[0]:表示取arr[0]元素的地址printf("根據(jù)下標(biāo)索引值循環(huán):數(shù)組下標(biāo):%d 對(duì)應(yīng)的元素地址是: %d 對(duì)應(yīng)的元素的值是: %d\n", i,&arr[i],arr[i]);}printf("\n");for (int i = 0;i<len;i++){// p:是一個(gè)地址//*p:取p對(duì)應(yīng)地址的值printf("根據(jù)指針偏移循環(huán):數(shù)組下標(biāo):%d 對(duì)應(yīng)的元素地址是: %d 對(duì)應(yīng)的元素的值是: %d\n", i, p, *p);p++; //地址偏移+1,等價(jià)偏移到下一個(gè)元素地址}system("pause"); } /* 輸出: 根據(jù)下標(biāo)索引值循環(huán):數(shù)組下標(biāo):0 對(duì)應(yīng)的元素地址是: 561904944 對(duì)應(yīng)的元素的值是: 10 根據(jù)下標(biāo)索引值循環(huán):數(shù)組下標(biāo):1 對(duì)應(yīng)的元素地址是: 561904948 對(duì)應(yīng)的元素的值是: 20 根據(jù)下標(biāo)索引值循環(huán):數(shù)組下標(biāo):2 對(duì)應(yīng)的元素地址是: 561904952 對(duì)應(yīng)的元素的值是: 30 根據(jù)下標(biāo)索引值循環(huán):數(shù)組下標(biāo):3 對(duì)應(yīng)的元素地址是: 561904956 對(duì)應(yīng)的元素的值是: 40 根據(jù)下標(biāo)索引值循環(huán):數(shù)組下標(biāo):4 對(duì)應(yīng)的元素地址是: 561904960 對(duì)應(yīng)的元素的值是: 50 根據(jù)指針偏移循環(huán):數(shù)組下標(biāo):0 對(duì)應(yīng)的元素地址是: 561904944 對(duì)應(yīng)的元素的值是: 10 根據(jù)指針偏移循環(huán):數(shù)組下標(biāo):1 對(duì)應(yīng)的元素地址是: 561904948 對(duì)應(yīng)的元素的值是: 20 根據(jù)指針偏移循環(huán):數(shù)組下標(biāo):2 對(duì)應(yīng)的元素地址是: 561904952 對(duì)應(yīng)的元素的值是: 30 根據(jù)指針偏移循環(huán):數(shù)組下標(biāo):3 對(duì)應(yīng)的元素地址是: 561904956 對(duì)應(yīng)的元素的值是: 40 根據(jù)指針偏移循環(huán):數(shù)組下標(biāo):4 對(duì)應(yīng)的元素地址是: 561904960 對(duì)應(yīng)的元素的值是: 50 請(qǐng)按任意鍵繼續(xù). . . */

三.猜你喜歡

  • 安裝 Visual Studio
  • 安裝 Visual Studio 插件 Visual Assist
  • Visual Studio 2008 卸載
  • Visual Studio 2003/2015 卸載
  • C 語(yǔ)言格式控制符/占位符
  • C 語(yǔ)言邏輯運(yùn)算符
  • C 語(yǔ)言三目運(yùn)算符
  • C 語(yǔ)言逗號(hào)表達(dá)式
  • C 語(yǔ)言 sizeof 和 strlen 函數(shù)區(qū)別
  • C 語(yǔ)言 strcpy 和 strcpy_s 函數(shù)區(qū)別
  • C 語(yǔ)言 memcpy 和 memcpy_s 區(qū)別
  • C 語(yǔ)言 數(shù)組定義和使用
  • C 語(yǔ)言 數(shù)組遍歷
  • C 語(yǔ)言 數(shù)組排序 – 冒泡法排序
  • C 語(yǔ)言 數(shù)組排序 – 選擇法排序
  • C 語(yǔ)言 數(shù)組排序 – 插入法排序
  • C 語(yǔ)言 數(shù)組排序 – 快速法排序
  • C 語(yǔ)言 數(shù)組下標(biāo)越界
  • C 語(yǔ)言 數(shù)組內(nèi)存溢出
  • C 語(yǔ)言 數(shù)組下標(biāo)越界和內(nèi)存溢出區(qū)別
  • C 語(yǔ)言 二維數(shù)組定義和使用
  • C 語(yǔ)言 二維數(shù)組行數(shù)和列數(shù)計(jì)算
  • C 語(yǔ)言 指針聲明和定義
  • C 語(yǔ)言 指針 p++ / p–
  • 未經(jīng)允許不得轉(zhuǎn)載:猿說(shuō)編程 ? C 語(yǔ)言 指針 p++ / p–

    總結(jié)

    以上是生活随笔為你收集整理的C语言 指针 p++ / p-- - C语言零基础入门教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。