當前位置:首頁 » 編程語言 » c語言指定變數地址
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言指定變數地址

發布時間: 2023-02-27 14:30:51

『壹』 單片機c語言怎麼把一個變數放到固定的地址

int *P;
P = 28h;
*P = 0x1234;
這樣就把變數存在指定的兩個地址單元了

『貳』 c語言中可以定義固定變數的地址嗎萬分感謝

不能,在一開始創建的時候計算機就會自動分配給它特定的地址,況且有些地址還是不能訪問的。

『叄』 關於C語言的 變數 地址 和 值

地址和指針是緊密相連的,首先值是放在內存中的一個區域,而內存中的區域都會有不同的編號,這些編號可以認為就是地址。
例如:int*
a是指針變數,int
b=3,
a=b,則是錯誤的,此時a是不等於3的,因為a是指針變數,你不能把b的值賦給它。應該是
b的地址
a=&b,就是正確的,此時a存放的就是b的值在內存中的地址
如果你輸出printf(「%d」,a)與printf(「%d」,*a)
結果是不一樣
前者輸出的是b在內存中的地址,後者輸出的是指針a
指向b的地址的值(即b的值3)

『肆』 c語言中可以定義固定變數的地址嗎

變數就有地址,但是常量不會有地址。
比如
const int * p=&a;
就定義了一個變數指針,指向const int型的變數a

『伍』 合泰的單片機用C語言如何把一個變數定位到指定ROM地址 比如:const unsigned char mydata @0x300;

ROM是保存指令和常量的地方,不是存變數的地方;
如果是訪問flash之類的可擦寫ROM可以當成是外部RAM使用,一般通過absacc.h
里的XBYTE[addr] 來定義外部地址的。

PS:如果是常量需要保存到ROM的指定地址,查看項目文件下的*.m51文件,裡面有程序段及常數段的地址分配,修改code memory 下的BASE(起始地址、基地址)和LENGTH(長度、位元組數)值,可以指定程序段或常量的ROM地址。

『陸』 C語言裡面的地址是什麼意思,指針指向一個變數的地址

C語言裡面的地址實際上就是一個內存單元的編號,計算機一般是以一個位元組為最小的存儲單元的,每個位元組就給它編一個編號,這個編號就是這個位元組的地址,這個編號也就是地址是具有唯一性的。指針指向一個變數的地址,這個類似於,通過知道房間號就可以確定這個房間的具體位置是一樣的道理,這個房間編號就是房間的地址。

『柒』 C語言指針指定地址

首先,不能這樣做,你c語言操作的地址並不是真實的地址,是操作系統從內存的某一段虛擬給你的地址,每次都不一樣,每個程序所使用的內存互不幹擾。
第二,而你的程序退出後,所擁有的空間就被系統全部回收了。也就不存在了。否則,你c語言亂改一通,要是改到系統正在用的內存,系統不就出現異常了嗎。內存並不是由你管理的,而是操作系統管理的。

假設 a程序的 p指針,指向 0xaaa地址 ,你修改 b程序的 p指針,指向0xaaa,也是無法修改的,每個程序的內存都是系統虛擬的。保證程序可以安全穩定的執行。