C语言 指针 p++ / p-- - C语言零基础入门教程
生活随笔
收集整理的這篇文章主要介紹了
C语言 指针 p++ / p-- - C语言零基础入门教程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 一.變量 i++/i–
- 二.指針 p++/p–
- 1.通過下標訪問數組元素
- 2.通過指針偏移訪問數組元素
- 三.猜你喜歡
零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門
一.變量 i++/i–
在前面的文章 自加自減運算符(++ i /i ++) 中介紹了關于變量自增和自減的運算,舉個例子:
int x = 10; x++; //等價 x = x + 1 = 11 ++x; //等價 x = x + 1 = 12 --x; //等價 x = x - 1 = 11 x--; //等價 x = x - 1 = 10前++/后++的區別:
前--/后--的區別:
二.指針 p++/p–
指針: 指針相當于一個變量,它存放的是變量在內存中的地址,是十六進制類型,它可以指向任意類型的數據。
**數組:****數組在內存中是連續存放的,開辟一塊連續的內存空間**。數組是根據數組的下標進行訪問的,多維數組在內存中是按照一維數組存儲的,只是在邏輯上是多維的。
1.通過下標訪問數組元素
/******************************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言教程 - C語言 指針 p++ / p– //@Time:2021/06/16 08:00 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /******************************************************************************************/#include<stdlib.h> #include<stdio.h> void main() {int arr[5] = { 10,20,30,40,50 };int len = sizeof(arr) / sizeof(arr[0]); //獲取數組長度for (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 請按任意鍵繼續. . . */2.通過指針偏移訪問數組元素
指針作為一個變量,肯定有自己的地址,占位符使用 %p 或者 %x ;
int *p = 10; printf(" p : %p",p);// 輸出地址:004FF798**指針作為一個變量,肯定有自己的值,占位符使用 %d ,取指針的值需要在指針變量前面加上 * ,否則是取指針的地址,**例如:
int *p = 10; printf(" p : %d",*p);// 輸出值: 10 printf(" p : %p",p); // 輸出地址:004FF798數組在內存中是連續存放的,所以可以通過指針偏移來訪問數組,例如:
int arr[5] = { 10,20,30,40,50 }; int *p = arr; //等價 *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];在上面的例子中,通過指針 p 指向數組 arr ,默認指針 p 指向數組的第一個元素 arr[0],通過 *p++ 偏移來獲取數組每一個元素對應的值,通過指針偏移來變量數組,舉個例子:
/******************************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言教程 - C語言 指針 p++ / p– //@Time:2021/06/16 08:00 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /******************************************************************************************/#include<stdlib.h> #include<stdio.h>void main() {int arr[5] = { 10,20,30,40,50 };int* p = arr; //定義一個空指針int len = sizeof(arr) / sizeof(arr[0]);//計算數組長度for (int i = 0; i < len; i++){//&arr[0]:表示取arr[0]元素的地址printf("根據下標索引值循環:數組下標:%d 對應的元素地址是: %d 對應的元素的值是: %d\n", i,&arr[i],arr[i]);}printf("\n");for (int i = 0;i<len;i++){// p:是一個地址//*p:取p對應地址的值printf("根據指針偏移循環:數組下標:%d 對應的元素地址是: %d 對應的元素的值是: %d\n", i, p, *p);p++; //地址偏移+1,等價偏移到下一個元素地址}system("pause"); } /* 輸出: 根據下標索引值循環:數組下標:0 對應的元素地址是: 561904944 對應的元素的值是: 10 根據下標索引值循環:數組下標:1 對應的元素地址是: 561904948 對應的元素的值是: 20 根據下標索引值循環:數組下標:2 對應的元素地址是: 561904952 對應的元素的值是: 30 根據下標索引值循環:數組下標:3 對應的元素地址是: 561904956 對應的元素的值是: 40 根據下標索引值循環:數組下標:4 對應的元素地址是: 561904960 對應的元素的值是: 50 根據指針偏移循環:數組下標:0 對應的元素地址是: 561904944 對應的元素的值是: 10 根據指針偏移循環:數組下標:1 對應的元素地址是: 561904948 對應的元素的值是: 20 根據指針偏移循環:數組下標:2 對應的元素地址是: 561904952 對應的元素的值是: 30 根據指針偏移循環:數組下標:3 對應的元素地址是: 561904956 對應的元素的值是: 40 根據指針偏移循環:數組下標:4 對應的元素地址是: 561904960 對應的元素的值是: 50 請按任意鍵繼續. . . */三.猜你喜歡
未經允許不得轉載:猿說編程 ? C 語言 指針 p++ / p–
總結
以上是生活随笔為你收集整理的C语言 指针 p++ / p-- - C语言零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python运算符 - Python零基
- 下一篇: C语言 函数不定长参数 ##__VA_A