国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C語言基礎(chǔ)——指針

這篇具有很好參考價值的文章主要介紹了C語言基礎(chǔ)——指針。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、指針

指針就是地址。

1.指針的意義

地址:數(shù)據(jù)的位置。
指針是C語言提供的一種類型。

2.指針類型表示

類型 *
類型:char int float double 指針 結(jié)構(gòu)體 數(shù)組
//char * – 代表這個地址里面存放的是char型數(shù)據(jù) — 該指針指向一個char型空間
//int * – 代表這個地址里面存放的是int型數(shù)據(jù)
問題:
C語言基礎(chǔ)——指針
通過強(qiáng)制類型轉(zhuǎn)換:(int *)0x40000000 – C語言代表1個可以存放整型數(shù)據(jù)的地址
C語言基礎(chǔ)——指針
*地址 – 代表該地址中的內(nèi)容。
int num = 10;
打印num變量的地址:%p,&num
32位CPU和系統(tǒng):地址 – 0x0000 0000 ~ 0xffff ffff – 32位
64位CPU和系統(tǒng):地址 – 64位

3.一些操作

3.1打印1個變量地址

&變量名 – 普通變量。
數(shù)組名 – 數(shù)組。

3.2通過地址查看改地址的內(nèi)容以及修改改地址的內(nèi)容

C語言基礎(chǔ)——指針
操作空間如下圖
C語言基礎(chǔ)——指針

3.3操作某個空間 – 4個字節(jié),給他賦值為100,只知道該空間的地址0x8000 0000

*((int *)0x8000 0000) = 100;
//但是操作系統(tǒng)顯示段錯誤,不允許普通用戶直接修改地址的空間,基層嵌入式可以

4.指針變量的定義

類型 *標(biāo)識符; – 沒有賦初值,稱為野指針變量。
類型 *標(biāo)識符 = NULL; (習(xí)慣)
類型 *標(biāo)識符 = &變量名;(習(xí)慣)

int num = 100;
定義1個指針變量指向該num空間?
int *pnum = #
pnum 代表的是本身變量的空間
*pnum 代表的是指向的空間
C語言基礎(chǔ)——指針

5.指針類型的大小

指針類型的大小–32位/64位
C語言基礎(chǔ)——指針
C語言基礎(chǔ)——指針

6.指針變量的使用

6.1 指針變量的初始化

例如:int num = 0; char ch = 0; char str[1024]=”\0”;
int *pnum = NULL;//NULL – 空 = 0
指針變量在不使用的情況下,一般初始化為NULL,否則我們稱該指針為野指針。

6.2一個指針變量對應(yīng)多個普通變量

//int num1=100,num2=500;
//int pnum = NULL;
//pnum指向num1 – C語言如何編寫? pnum = &num1; – 可以通過
pnum 操作num1的空間。
//pnum指向num2 – C語言如何編寫? pnum = &num2; – 可以通過*pnum操作num2的空間。
C語言基礎(chǔ)——指針

6.3想通過指針對某個變量空間操作:

1.定義一個指針變量 int pnum = NULL;
2.把某個變量的地址賦值給指針變量 pnum = #
3.通過
指針變量名,就可以操作某個變量空間 *pnum = 1000;

6.4一個變量,多個指針指向該變量

C語言基礎(chǔ)——指針

6.5指針類型的強(qiáng)轉(zhuǎn)

和普通變量一樣。(指針類型) 某個變量地址。
unsigned int num = 0x12345678;
C語言基礎(chǔ)——指針
C語言基礎(chǔ)——指針
C語言基礎(chǔ)——指針

7.指針的其他應(yīng)用

7.1 指針變量+1,物理地址變化

指針變量+1,物理地址+類型大小。

7.2指針與一維數(shù)組

7.2.1數(shù)組名代表該數(shù)組的首地址

打印數(shù)組的首地址
在這里插入圖片描述
C語言基礎(chǔ)——指針

7.2.2num和&num[0] – 指針類型

一樣:num – 整型*
num[0] – 整型*

7.2.3 *num – 代表

– 數(shù)組中第0個元素的空間 num[0]

7.2.4 (p+1)和p+1的區(qū)別
          *(p+1) 代表:地址+1 -- num[1] 

C語言基礎(chǔ)——指針
p+1 = num[0]+1 = 11 – -因為優(yōu)先級 > + 先執(zhí)行*p,再執(zhí)行+1

例1:
打印:int num[5]={10,8,6,4,2};num的內(nèi)容,通過地址打印
C語言基礎(chǔ)——指針
例2:
打印:int num[5]={10,8,6,4,2};num的內(nèi)容,通過指針變量打印
C語言基礎(chǔ)——指針

7.2.5 *p++和++*p的區(qū)別:

原因:++和的優(yōu)先級相同,從右到左執(zhí)行。
先執(zhí)行++,再執(zhí)行
p,地址+1(下面例子)
C語言基礎(chǔ)——指針
先執(zhí)行*p,再++,內(nèi)容+1
C語言基礎(chǔ)——指針

7.2.6擴(kuò)展:數(shù)組名代表該數(shù)組的首地址,不能夠進(jìn)行變量++。

7.3數(shù)組名和指針名:指針名可以替換數(shù)組名

C語言基礎(chǔ)——指針
C語言基礎(chǔ)——指針

7.4指針與二維數(shù)組

指針變量與二維數(shù)組的元素之間的關(guān)系:
C語言基礎(chǔ)——指針

7.4.1二維數(shù)組的首地址表示

C語言基礎(chǔ)——指針
C語言基礎(chǔ)——指針

7.4.2上述3種首地址表示方式他們的指針類型分別是:

&num[0][0] – int * – 整型指針類型 – 第0行0列元素的地址 = int *
num – int (*)[4] – 整型數(shù)組指針類型
num[0] – int * – 整型指針類型 – 第0行的首地址 = int *
C語言基礎(chǔ)——指針

7.4.3獲取第一行首地址

獲取第1行的首地址:
&num[1][0]
也可以:num[1]
C語言基礎(chǔ)——指針
結(jié)果:num[0] num[1] num[2] – 代表了3個一維數(shù)組

C語言基礎(chǔ)——指針
C語言基礎(chǔ)——指針

7.4.4二維數(shù)組的數(shù)組名 – 數(shù)組指針類型

C語言基礎(chǔ)——指針
C語言基礎(chǔ)——指針

7.5擴(kuò)展

數(shù)組指針 – 代表是指針 – 用于二維數(shù)組中。
指針數(shù)組 – 代表是數(shù)組 – 指針類型的數(shù)組
C語言基礎(chǔ)——指針

7.6指針的指針–二級指針

獲取一個指針變量的地址?
&變量名;
定義1個指針變量,保存另外一個指針變量的地址。 — 二級指針

p – 本身變量空間
*p – 指向的空間
*(地址) – 對該地址進(jìn)行尋址文章來源地址http://www.zghlxwxcb.cn/news/detail-416220.html

到了這里,關(guān)于C語言基礎(chǔ)——指針的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • C語言基礎(chǔ)之——指針(上)

    C語言基礎(chǔ)之——指針(上)

    前言:小伙伴們又見面啦!本期內(nèi)容,博主將展開講解有關(guān)C語言中指針的上半部分基礎(chǔ)知識,一起學(xué)習(xí)起來叭?。?! 目錄 一.什么是指針 二.指針類型 1.指針的解引用 2.指針+-整數(shù) 三.野指針 1.野指針成因 (1)指針未初始化 ?(2)指針越界訪問 2.如何規(guī)避野指針 四.總結(jié) 指針

    2024年02月11日
    瀏覽(26)
  • C語言基礎(chǔ)之——指針(下)

    C語言基礎(chǔ)之——指針(下)

    前言:本篇文章將繼續(xù)講解有關(guān)指針的剩余基礎(chǔ)知識。 學(xué)無止境,一起加油叭??! 目錄 一.指針運算 1.指針 +- 整數(shù) ?2.指針的關(guān)系運算 ?3.指針 - 指針 二.指針與數(shù)組 三.二級指針 四.指針數(shù)組 總結(jié) 指針運算包括以下三種: 指針 +- 整數(shù) 指針 - 指針 指針的關(guān)系運算 我們嘗試用

    2024年02月11日
    瀏覽(26)
  • 【C語言基礎(chǔ)入門】二級指針、一維數(shù)組與指針、二維數(shù)組與指針

    【C語言基礎(chǔ)入門】二級指針、一維數(shù)組與指針、二維數(shù)組與指針

    在學(xué)習(xí)C語言的過程中,理解指針的概念是非常重要的。指針提供了一種直接訪問內(nèi)存地址的方式,使得我們可以更加靈活地管理數(shù)據(jù)和內(nèi)存。在本文中,我們將介紹C語言中的二級指針、一維數(shù)組與指針,并通過通俗易懂的語言和示例代碼來幫助讀者理解這些概念。 二級指針

    2024年02月05日
    瀏覽(29)
  • 【C語言基礎(chǔ)】:深入理解指針(三)

    【C語言基礎(chǔ)】:深入理解指針(三)

    指針系列回顧 : 【C語言基礎(chǔ)】:深入理解指針(一) 【C語言基礎(chǔ)】:深入理解指針(二) 一、冒泡排序 冒泡排序的核心思想就是:兩兩相鄰的元素進(jìn)行比較。 可以看到,這段代碼對arr數(shù)組進(jìn)行了排序,但這個代碼還有一些缺陷,那就是無論數(shù)組內(nèi)部的元素是否有序,他都會循

    2024年03月10日
    瀏覽(26)
  • C語言-基礎(chǔ)語法學(xué)習(xí)-3 二級指針

    C語言-基礎(chǔ)語法學(xué)習(xí)-3 二級指針

    當(dāng)涉及到多級指針時,C語言的靈活性和強(qiáng)大的指針功能可以得到充分的發(fā)揮。二級指針是指指向指針的指針,也被稱為指向指針的引用。 使用二級指針可以實現(xiàn)以下功能: 動態(tài)內(nèi)存分配:通過二級指針可以動態(tài)地分配內(nèi)存塊,并將其地址傳遞給其他函數(shù)或模塊進(jìn)行操作。這

    2024年02月12日
    瀏覽(25)
  • C語言 指針聲明和定義 - C語言零基礎(chǔ)入門教程

    目錄 [一.指針簡介] [1.內(nèi)存] [2.內(nèi)存地址] [3.指針聲明] [二.指針類型] [三.聲明并初始化一個指針] [1.聲明指針并直接初始化 – 推薦] [2.先聲明指針在初始化 – 不推薦] [四.查看指針地址和指針的值] [五.NULL 指針 – 空指針] [六.重點總結(jié)] [七.猜你喜歡] 零基礎(chǔ) C/C++ 學(xué)習(xí)路線推薦

    2024年03月22日
    瀏覽(45)
  • 逍遙自在學(xué)C語言 | 指針的基礎(chǔ)用法

    逍遙自在學(xué)C語言 | 指針的基礎(chǔ)用法

    在C語言中,指針是一項重要的概念,它允許我們直接訪問和操作內(nèi)存地址。 可以說,指針是C語言一大優(yōu)勢。用得好,你寫程序如同趙子龍百萬軍中取上將首級;用得不好,則各種問題層出不窮,有種雙拳難敵四手的感覺。 本文將介紹指針的基礎(chǔ)知識,包括指針的定義、初始

    2024年02月09日
    瀏覽(32)
  • 【C語言初階】帶你輕松掌握指針基礎(chǔ)知識完結(jié)篇——野指針,指針運算,指針和數(shù)組,二級指針

    【C語言初階】帶你輕松掌握指針基礎(chǔ)知識完結(jié)篇——野指針,指針運算,指針和數(shù)組,二級指針

    君兮_的個人主頁 勤時當(dāng)勉勵 歲月不待人 C/C++ 游戲開發(fā) Hello,這里是君兮_,今天繼續(xù)給大家更新0基礎(chǔ)入門C語言的內(nèi)容,我們這次主要更新的依然是初階指針的基礎(chǔ)知識 廢話不多說咱們直接開始吧?。?概念: 野指針就是指針指向的位置是不可知的(隨機(jī)的、不正確的、沒有

    2024年02月16日
    瀏覽(22)
  • 【C語言】指針超級無敵金剛霹靂進(jìn)階(但不難,還是基礎(chǔ))

    【C語言】指針超級無敵金剛霹靂進(jìn)階(但不難,還是基礎(chǔ))

    點擊這里訪問我的博客主頁~~ 對指針概念還不太清楚的點擊這里訪問上一篇指針初階2.0 上上篇指針初階1.0 謝謝各位大佬的支持咯 今天我們一起來學(xué)習(xí)指針進(jìn)階內(nèi)容 指針變量有 字符指針變量 , 數(shù)組指針變量 和 函數(shù)指針變量 char* 叫做字符指針 一般這么來使用: 通過指針存

    2024年03月09日
    瀏覽(32)
  • 【C語言初階】帶你輕松掌握指針基礎(chǔ)知識(1)——指針的定義,類型,大小

    【C語言初階】帶你輕松掌握指針基礎(chǔ)知識(1)——指針的定義,類型,大小

    君兮_的個人主頁 勤時當(dāng)勉勵 歲月不待人 C/C++ 游戲開發(fā) Hello,這里是君兮_,最近剛回家有點懶,從今天開始恢復(fù)更新并開始更新新的刷題系列,我們先繼續(xù)更新0基礎(chǔ)入門C語言的內(nèi)容,今天給大家?guī)淼氖侵羔樂矫娴膬?nèi)容,但由于是初階,一些高級的用法我們放在進(jìn)階篇再講

    2024年02月12日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包