當前位置:首頁 » 存儲配置 » 指針的存儲器

指針的存儲器

發布時間: 2022-07-16 21:55:55

『壹』 請通俗一點的講講指針是怎麼存儲

指針是存儲內存地址的變數,只是一種變數而已
就像int的變數存儲整形
就像float的變數存儲浮點形
就像char的變數存儲字元形
就像double的變數存儲高精度浮點形

char *,int *,float* 定義的指針都是一樣的,用來存放內存地址.一般來說可以存儲2^32次方那麼大的內存地址.
之所以有那麼多類型的指針是方便寫代碼,同時支持指針的自我加減操作.
最終的操作都是轉化成void*的指針來操作

假設你要讀取內存地址為0x5201314的那塊內存 void *p = 0x5201314;
cout<<(int)*p;//讀取4個位元組
cout<<(char)*p;//讀取1個位元組
。。。。。。

『貳』 指針存儲器和變址存儲器的區別

指針用來指向一個地址。使用這種定址方式的優點在於可以在程序運行過程中實現變址。 指針用於存儲器間接定址

『叄』 單片機中,通用指針一般在存儲器中佔用幾個位元組

指針DPTR是16位的特殊功能寄存器占兩個位元組。

『肆』 c語言當定義一個指針是如何存儲的

在 C 語言中,將內存單元的編號或地址稱為指針。可通過一個變數來存放指針,這種變數稱為指針變數。因此,一個指針變數的值就是某個內存單元的地址,或稱為某內存單元的指針。它與其他一般變數所不同的是,一般的變數包含的是實際的、真實的數據;而指針只是一個指示器,它告訴程序在內存的哪塊區域可以找到數據。

『伍』 程序存儲器,堆棧和外部數據存儲器各使用什麼指針

1、程序存儲器指令地址使用程序計數器PC指針,PC中存放的是下一條將要從程序存儲器中取出的指令的地址。程序計數器PC變化的軌跡決定程序的流程。PC最基本的工作方式是自動加1。在執行條件轉移或無條件轉移指令時,將轉移的目的地址送入程序計數器,程序流向發生變化。在執行調用指令或響應中斷時,將子程序的入口地址或者中斷矢量地址送人PC,程序流向發生變化。
2、堆棧地址使用堆棧指針.SP。SP在80C51中存放當前的堆棧棧頂所指存儲單元地址,是一個8位寄存器,對數據按照「先進後出」原則進行管理。外接數據存儲器地址使用數據指針DPTR。DPTR是一個16位特殊功能寄存器,主要功能是作為片外數據存儲器或I/0定址用的地址寄存器,這時會產生RD或wR控制信號,用於單片機對外擴的數據存儲器或I/0的控制。 3、數據指針DPTR也可以作為訪問程序存儲器時的基址寄存器,此時是定址程序存儲器中的表格、常數等單元,而不是定址指令。

『陸』 通常用作堆棧指針的寄存器叫什麼名字

在調用子程序時需要保存調用函數的CPU寄存器PC指針,PC指針是被CALL指令自動壓入SP所指向的片內存儲器,CPU寄存器要由用戶用PUSH指令自行保存,因此SP的作用就是一個指針,當進行中斷調用,子函數調用時將現場數據壓入SP所指向的存儲器,SP自動增加1或2,當中斷結束RETI,調用返回RET,POP時將SP數據彈出,SP自動減1或28051最大為128位元組的片內存儲器,0X20以上理論都可以做堆棧用96位元組,8052為256位元組224位元組可用但這樣便沒有其它空間可用於數據存儲現在的單片機的程序一般都能用C51來,不用關心堆棧大小與SP寄存器

『柒』 指針的存儲類型和數據類型的意義是什麼

1.定義指針指定的數據類型是指指向數據的類型,並不是指針的類型,指針的數據類型是內存地址類型。
2.之所以定義指針時指明它指向數據的類型,是因為有些數據類型不能進行某些操作(運算),比如兩個char相乘(或相除)沒有任何意義。假如說定義指針時不需要指明它指向數據的類型,那麼有指針p1和p2,那麼(*p1)*(*p2)在不知道p1和p2指向的數據類型時就不能保證它對數據類型運算的限制了;
3,如果你只是想用指針保存一下數據的內存地址而不去對它進行運算你可以定義void類型的指針,它能指向任何數據類型,但是他不能進行任何運算。
另外你看下C++ Primer這本書,他對指針說明的很詳細

『捌』 指針的概念

在計算機科學中,指針(Pointer)是編程語言中的一個對象,利用地址,它的值直接指向(points to)存在電腦存儲器中另一個地方的值。由於通過地址能找到所需的變數單元,可以說,地址指向該變數單元。因此,將地址形象化的稱為「指針」。意思是通過它能找到以它為地址的內存單元。 在高級語言中,指針有效地取代了在低級語言,如匯編語言與機器碼,直接使用通用暫存器的地方,但它可能只適用於合法地址之中。指針參考了存儲器中某個地址,通過被稱為反參考指針的動作,可以取出在那個地址中存儲的值。作個比喻,假設將電腦存儲器當成一本書,一張內容記錄了某個頁碼加上行號的便利貼,可以被當成是一個指向特定頁面的指針;根據便利粘貼面的頁碼與行號,翻到那個頁面,把那個頁面的那一行文字讀出來,就相當於是對這個指針進行反參考的動作。

『玖』 c51中一般指針變數佔用多少位元組存儲

是三個位元組,第一個位元組表示存儲器類型,第二,三個位元組是指向數據地址的高位元組和低位元組。

如果將首位作為符號位

即1為負數

0為整數

一位元組存的最小數為

11111111(-128)

最大數為

01111111(127)

如果沒有符號位則

最小數為00000000(十進制0)

最大數為11111111(十進制255)

(9)指針的存儲器擴展閱讀:

多位元組數據存放順序與CPU有關,微處理器中的存放順序有正序(Big-Endian)和逆序(Little-Endian)(也稱大端存儲和小端存儲)之分。常見的Intel系列使用的編碼方式屬於Little-Endian類;某些RISC架構的CPU,如IBM的Power-PC等屬於Big-Endian類。

Big-Endian:高位位元組存入低地址,低位位元組存入高地址,依次排列。

Little-Endian:低位位元組存入低地址,高位位元組存入高地址,反序排列。

『拾』 C語言中指針變數是存在哪裡的

1、指針變數和普通的變數一樣,編譯期儲存在代碼當中,運行期間儲存在內存里。c語言的變數值是通過該變數的內存地址定址得到的,而對於一個已經編譯好的程序,變數的地址都是確定的值,不可以更改。這是因為程序在編譯時編譯器已經通過語法分析把指針變數的地址值計算出來了,所以指針變數實際上不用保存在內存堆棧或數據段中,而是包含在匯編代碼裡面。
2、指針變數裡面就是整型的一個十六進制數,用來表示的就是指向某個變數的地址;
指針是C語言中廣泛使用的一種數據類型;
利用指針變數可以表示各種數據結構;
能很方便地使用數組和字元串;
並能象匯編語言一樣處理內存地址,從而編出精練而高效的程序;
指針極大地豐富了編程語言的功能。

熱點內容
我的世界ec伺服器消失了 發布:2024-10-07 21:48:30 瀏覽:661
pythonziptodict 發布:2024-10-07 21:36:09 瀏覽:790
linux操作系統教程 發布:2024-10-07 21:16:54 瀏覽:280
摩托音響怎麼配置 發布:2024-10-07 21:12:37 瀏覽:348
本田思域哪個配置好 發布:2024-10-07 21:04:11 瀏覽:347
演算法期末試卷 發布:2024-10-07 20:51:04 瀏覽:808
編譯期錯誤提示 發布:2024-10-07 20:07:23 瀏覽:297
阿里雲伺服器打開慢 發布:2024-10-07 20:06:33 瀏覽:578
磁存儲行業的前景 發布:2024-10-07 20:01:29 瀏覽:549
android對象序列化 發布:2024-10-07 20:01:28 瀏覽:760