c語言變數的地址
變數存儲的是對應類型的值,是否為地址同樣取決於類型。
變數具有不同的類型。
整型變數int,存儲的就是一個整數;float類型,存儲的是實數;char類型,存儲的是字元(實際上也是整數)。
指針變數,是C語言的特殊變數,其存儲的是地址。在C語言中,只有指針是用來存儲地址值的。
B. C語言裡面的地址是什麼意思,指針指向一個變數的地址
C語言裡面的地址實際上就是一個內存單元的編號,計算機一般是以一個位元組為最小的存儲單元的,每個位元組就給它編一個編號,這個編號就是這個位元組的地址,這個編號也就是地址是具有唯一性的。指針指向一個變數的地址,這個類似於,通過知道房間號就可以確定這個房間的具體位置是一樣的道理,這個房間編號就是房間的地址。
C. 標准C語言中變數的地址是24位呢
前面還有0呢,省略了,地址都是4個位元組32位的。
D. C語言中變數的地址是什麼類型的
變數春野的地址,在C語言中,一般寫作指針類型。
不同類型的變數地址,用不同的指針進行保存。
比如,char 類型的地址,使用char*保存,而int型地址,用int *保存。
除此外,部分情況下也會採用整型類型來保存變數地址,具體使用何種整型類型,取決於編譯器:
1 16位編譯器扒告喊,地址佔16位,2位元組,可以使用short或者int保存。友物
2 32位編譯器,地址佔32位,4位元組,可以使用int或long保存。
3 64位編譯器,地址佔64位,8位元組,可以使用long保存。
不過不推薦使用整型類型保存地址,會帶來移植上的不通用。
E. 在C語言中如何列印變數的地址
需要定義指針變數才能輸出變數的地址
舉個簡單的里自來說:
#include "stdio.h"
void main()
{
int a=1,b=2;
int *p1,*p2;
p1=&a;p2=&b;
printf("變數a的地址為:%d\n變數b的地址為:%d\n",p1,p2);
system("PAUSE");
}
運行程序即可看到變數a和變數b在內存中分配的地址
F. 關於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)
G. C語言地址變數怎麼表達
指此如針就是鍵扒返地址變數;稿飢如int
k=9,*p;
p=&k;//將變數的地址賦值給指針p;
H. c語言如何實現輸出變數的內存地址
對帶搏於變數可以直接利用取地址運算符&獲取變數蠢伍祥的地址,之後通過printf語句進行輸出。
具體實現方法可以參考如下程序段橘游:
inta=3;
printf("%x",&a);//以16進制形式輸出變數a的地址(不含0x前綴)
I. C語言中,將一個變數的地址稱為,存放變數地址的變數稱為
存放地址的變數是指針變數,變數的地址稱為內存的地址,是指針存儲的值,C語言中指針和數組哼難理解,同時還有二級指針,存放的是指針變數的地址,數組名是常指針,不能做左值,作為右值是代表的是數組首豎兄簡元素的地址,&數組名,才是數組的地址,盡管值是相同的,但是意義不一樣,就像中央政府在北京,北京市政府也在北京,雖然是同一個地方,但是代表的不同,中央政府代塵圓表的是中國,北京市政府代表的是北京,意義與余褲重量級都不同。
J. 如何列印變數的地址 在C語言中
所有的變數在內存中都自己的存儲空間,該空間的編號就是內存地址,可以通過&運算符來獲得變數地址,通過printf("%p")函數進行輸出,%p表示按內存地址格式輸出(16進制)如:
#include<stdio.h>
voidmain()
{
charc;
charac[10]="hello";
structt{
inta,b;
doubled;
}st;
printf("c'saddress=%p ",&c);//輸出一個字元類型變數的地址
printf("ac'saddress=%p ",&ac);
printf("ac'saddress=%p ",ac);//數組名本身就是一個地址,鉛派塌若按%p輸出,就會得到其地址
printf("ac'saddress=%s ",ac);//按%s輸羨彎出,就會輸出地址中的字元串數據hello
printf("st'saddress=%p ",&st);//輸出一個結構體類型槐圓變數的地址
}