91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言中指針變量簡述

嵌入式應(yīng)用開發(fā) ? 來源:嵌入式應(yīng)用開發(fā) ? 作者:嵌入式應(yīng)用開發(fā) ? 2022-09-09 08:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

指針是變量,那必然會有變量類型,因此這里必須對變量類型做解釋。在C語言中,所有的變量都有變量類型,整型、浮現(xiàn)型、字符型、指針類型、結(jié)構(gòu)體、聯(lián)合體、枚舉等,這些都是變量類型。變量類型的出現(xiàn)是內(nèi)存管理的必然結(jié)果,相信讀者知道,所有的變量都是保存在計算機(jī)的內(nèi)存中,既然是放到計算機(jī)的內(nèi)存中,那必然會占用一定的空間,問題來了,一個變量會占用多少空間呢,或者說應(yīng)該分出多少內(nèi)存空間來放置該變量呢?為了規(guī)定這個,類型由此誕生了,對于32位編譯器來說,int類型占用4個字節(jié),即32位,long類型占用8字節(jié),即64位。這里簡單說了類型主要是為后面引出指針這個特殊性,在計算機(jī)中,將要運(yùn)行的程序都保存在內(nèi)存中,所有的程序中的變量其實(shí)就是對內(nèi)存的操作。

#include "stdio.h"

int main(int argc, char **argv)
{
    unsigned int a = 10;
    unsigned int *p = NULL;
    p = &a;
    printf("&a=%d\n",a);
    printf("&a=%d\n",&a);
    *p = 20;
    printf("a=%d\n",a);
    return 0;
}

運(yùn)行之后,結(jié)果如圖:

poYBAGMZ4KaAOMFjAAA2FHvcDxQ921.png

指針也是一個變量,那個指針也應(yīng)該被存放在內(nèi)存中,對于32位編譯器來說,其尋址空間為2^32=4GB,為了能夠都操作所有內(nèi)存(實(shí)際上普通用戶不可能操作所有內(nèi)存),指針變量存放也要用32位數(shù)即4個字節(jié)。這樣就有指針的地址&p,指針和變量的關(guān)系可以用如下圖表示:

poYBAGMZ4OWAKwIyAABuqOukfgk263.png

從上圖可以看到&p是指針的地址,用來存放指針p,而指針p來存放變量a的地址,也就是&a,還有一個*p在C語言中是解引,意思是告訴編譯器取出該地址存放的內(nèi)容。

poYBAGMZ4QuAIGh2AABHkopwFVU324.png

對于不同類型指針而言,其p+1所指向的地址不同,這個遞增取決于指針類型所占的內(nèi)存大小,而對于((unsigned int)p)+1,該意思是將地址p所指向的地址的值直接轉(zhuǎn)換為數(shù)字,然后+1,這樣無論p是何種類型的指針,其結(jié)果都是指針?biāo)傅牡刂泛笠粋€地址。

從上述可以看到,指針的存在使得程序員可以相當(dāng)輕松的操作內(nèi)存,這也使得當(dāng)前有些人認(rèn)為指針相當(dāng)危險,這一觀點(diǎn)表現(xiàn)在C#Java語言中,然而實(shí)際上用好指針可以極大的提高效率。下面深入一點(diǎn)來通過指針對內(nèi)存進(jìn)行操作,現(xiàn)在我們需要對內(nèi)存6422216中填入一個數(shù)據(jù)125,我們可以如下操作:

unsigned int *p=(unsigned int*)(6422216);
*p=125;
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7644

    瀏覽量

    145569
  • 指針變量
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    7370
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    C語言中指針變量的使用

      在使用時,一定要注意上面“*“號的用法差異。還需要注意的是,一個指針變量只能指向與其數(shù)據(jù)類型相同的變量。
    發(fā)表于 08-15 15:12 ?2769次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中指針</b><b class='flag-5'>變量</b>的使用

    C語言中指針的定義

    上一節(jié)中,我們利用了一個小知識來介紹了一下指針,在上面這個例子中,小明和小麗手中的這個杯子就好比我們C語言中變量,它確實(shí)是實(shí)實(shí)在在存放一些有具體意義的數(shù)據(jù)。這個杯套就類似于
    發(fā)表于 08-15 16:24 ?2263次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中指針</b>的定義

    C語言中指針的定義與使用

    指針也就是內(nèi)存地址,指針變量是用來存放內(nèi)存地址的變量,不同類型的指針變量所占用的存儲單元長度是相
    的頭像 發(fā)表于 10-13 17:00 ?3316次閱讀

    C語言指針加1引發(fā)的思考

    最近有小伙伴對于 C 語言中指針的運(yùn)算有點(diǎn)疑問:指針變量加 1 之后,到底向后偏移了幾個字節(jié)呢?
    的頭像 發(fā)表于 01-29 11:31 ?1775次閱讀

    C語言中指針函數(shù)和函數(shù)指針的概念及應(yīng)用示例

    C語言中,指針函數(shù)和函數(shù)指針是強(qiáng)大且常用的工具。它們允許我們以更靈活的方式處理函數(shù)和數(shù)據(jù),進(jìn)而擴(kuò)展程序的功能。
    發(fā)表于 08-16 16:14 ?2010次閱讀

    C語言中指針的基本概念和用法

    C語言中,指針是一項(xiàng)重要的概念,它允許我們直接訪問和操作內(nèi)存地址。
    發(fā)表于 08-17 15:30 ?1497次閱讀

    談?wù)?b class='flag-5'>C語言中指針有什么好處,請各位高手們談?wù)勛约旱捏w會

    談?wù)?b class='flag-5'>C語言中指針有什么好處,請各位高手們談?wù)勛约旱捏w會...
    發(fā)表于 09-01 17:38

    語言中指針的介紹

    的內(nèi)容。在C語言中, 允許用一個變量來存放指針,這種變量稱為指針變量。因此,一個
    發(fā)表于 09-10 14:22

    C語言中指針的介紹非常詳細(xì)

    C語言中指針的介紹非常詳細(xì) C語言中指針的介紹非常詳細(xì)
    發(fā)表于 12-25 10:39 ?57次下載

    基于C語言中指針的基本用法解析

    C語言中其它的知識都學(xué)得可以,唯獨(dú)指針搞不懂。如果是這樣,我可以很負(fù)責(zé)的告訴你,對于這門編程語言,你等于是沒學(xué)。所以學(xué)好指針對于初學(xué)者是非
    的頭像 發(fā)表于 01-09 15:12 ?5284次閱讀

    C語言中的野指針是怎么來的?

    一、什么是野指針? 指針C語言的靈魂,同時也是很容易讓人犯錯的重難點(diǎn),用錯了指針將是一個災(zāi)難。 指針
    的頭像 發(fā)表于 06-01 16:43 ?3083次閱讀

    C語言中指針(重點(diǎn))超詳細(xì)

    C語言中指針1、指針是什么2、指針指針類型2.1、指針
    發(fā)表于 01-13 14:10 ?11次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>的<b class='flag-5'>指針</b>(重點(diǎn))超詳細(xì)

    C語言怎樣引用指針變量

    指針C語言中的一個重要概念,也是C語言的一個重要特色。正確而靈活地運(yùn)用它,可以使程序簡潔、緊湊、高校。 由于通過地址能找到所需的
    的頭像 發(fā)表于 03-10 14:43 ?2250次閱讀

    C語言中什么是指針數(shù)組

    C語言中一個數(shù)組,若其元素均為指針類型數(shù)據(jù),稱為指針數(shù)組,也就是說,指針數(shù)組中的每一個元素都存放一個地址,相當(dāng)于一個
    的頭像 發(fā)表于 03-10 15:26 ?2715次閱讀

    簡述C語言中指針重點(diǎn)

    C語言中一個函數(shù)可以返回一個整型值、字符值、實(shí)型值等,也可以返回指針型的數(shù)據(jù),即地址,其概念與以前類似,只是返回的值的類型是指針類型。
    的頭像 發(fā)表于 03-10 15:28 ?1144次閱讀