『壹』 c語言小問題~已經定義int *p 那後面程序中分別提到p和*p有何區別
html?si=1"
target="_blank">http,代表的是指針變數
p,是普通變數
前面的INT是定義他們的類型
int
*p表示指向整數型指針變數
int
p
表示整數型變數.com/question/77727793://..com/question/77727793.html。
可以查詢一下C語言指針的說明
熱心網友|
發布於2009-01-16
09:24
評論
『貳』 C語言中,const int *p是指p為只讀變數還是說p指向的不能通過p修改,還是說都是只讀
可以這么理解 int *p,p指向的是int *p得到int
const int* p;p指向的是const int, *p得到const int,所以*p不能修改,但p可以修改
『叄』 c語言中%p是什麼意思
格式控制符「%p」中的p是pointer(指針)的縮寫。指針的值是語言實現(編譯程序)相關的,但幾乎所有實現中,指針的值都是一個表示地址空間中某個存儲器單元的整數。printf函數族中對於%p一般以十六進制整數方式輸出指針的值,附加前綴0x。
%p是列印地址的, %x是以十六進制形式列印, 完全不同!另外在64位下結果會不一樣, 所以列印指針老老實實用%p 。
(3)c語言intp中p是什麼擴展閱讀:
%x同樣輸出16進制形式,不過%x對應的是int型,也就是說,其輸出長度與系統int型占的位元組數相等回。如32位編譯器,int型佔4位位元組,那麼%x輸出的結果最多為16個16進制字元。
而%p輸出寬度取決於系統地址匯流排位數,即16位最多輸出4位16進制字元,32位最多輸出8位16進制字元,64位最多輸出16位16進制字元。
『肆』 C語言中int * p;的含義
在c語言中
*
是指針運算符。
*p表示指針變數p所指向的變數的值。即p中存儲的內存地址
所存儲的變數的值。
另外
容易混淆的地方是;
定義一個指針變數p時,如
int
*p;
表示定義了一個指向整型變數的指針變數p。
望採納。
『伍』 c語言中有這樣一個定義:int **p;問一下這個p是定義的什麼變數
這個p是定義的二級指針變數,即「指向指針的指針」。
『陸』 c語言中p*是什麼意思,他和*p的區別是什麼
p*
如是出現在算術表達式中,這個星號就是乘號,表示相乘,如果是出現在聲明中(如變數定義),那就表明p是一種數據類型,p*表示要聲明這種類型的指針變數。
*p
依然可以表示相乘的運算,也可表示提取p指針指向的位置保存的值。例如:
int a=9;
int *p=a;
printf("%d",*p);
這個printf()調用中的*p表示提取p指針指向的地址(即變數a的地址)保存的值(即變數a的值)
『柒』 c語言中*p,&p,p到底有何關系 如f(int *p),f(&p),printf("%d\n"
可以這樣理解。
int
*p;
p就是一個變數,存放一個值。這個值有點特殊,它是個存儲空間的地址。這是,p成為指針變數。*p如果出現在表達式中,表示一個值,這個值為p中存放的地址處的內容。
int
p;的情況下,p也是一個變數,存放一個整型值。&p也是一個特殊值,這個值為p這個變數在存儲空間中的地址。
『捌』 c語言中"已知int p();則p是"
int p();
在C語言中這是一個函數的聲明,該函數的函數名叫做p, 該函數的返回值為int類型,該函數的參數為空。
如果基礎的理解,p是一個函數名,如果更深層次的理解的話,p本質上是一個指針,等樓主學習到關於指針的內容的時候就會更進一步的理解。
『玖』 C語言中的int * p的理解
如果要連續定義兩個指針應該是怎樣做呢?
如果是第一種理解,則為:
int* p,q;
但是測試結果,p是int指針,而q是int類型,不是指針。
所以第一種理解錯誤,實際上要連續定義兩個指針必須:
int *p,*q;
所以這樣看第二種理解更靠譜一些,雖然我感覺還是有些牽強,因為這句
「而&*p為對p取地址,&和*抵消了」
在使用p的時候是不需要用&的