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

c語言p是值還是地址

發布時間: 2022-07-17 13:21:43

c語言的指針部分*p與p的區別是什麼

p是指針變數,其值是一個變數的地址。p收到了哪個變數的地址,就指向哪個變數。該變數成為p的對象。

*p是p所指向的對象的值。

例如:int i=3,*p;

p=&i; 注意:p收到i的地址,故p指向i,i是p的對象。

printf("%d,%d ",i,*p); 輸出:3,3 注意:*p是p所指向的對象的值,即i的值。

㈡ c語言中*p =a還是a的值 (p=&a)大概寫了一下

p=&a意思就是把a的地址賦給p,*p的意思是把p這個地址的數據取出來,所以說*p是指的a的值

㈢ c語言,char *p="girl",p的值是"girl"的首地址嗎

是的,該語句中定義了一個字元串指針,指向字元串「girl」, p的值即「girl」的首地址。

拓展

所謂指針,也就是內存的地址;所謂指針變數,也就是保存了內存地址的變數。在該題目中p就是一個指針變數。

㈣ c語言,步驟sp(p)是傳值還是傳址

答案:4,3,3
解析:首先傳進去的一定是地址,然後函數體里的指針放棄了這個地址,指向b的空間,然後把b的值改為4,最後輸出b的值。由於k的地址已經被指針a放棄操作了,整個過程沒有改變k的值。指針p也沒有任何改變,所以p依然指向k,最後輸出3,3

㈤ c語言的指針部分 *p與p區別

c語言的指針部分 *p與p區別如下:

1、作用不同

*p表示此指針指向的內存地址中存放的內容。

p是一個指針變數的名字,表示此指針變數指向的內存地址。

2、輸出內容的格式不同

*p常用在一個和指針類型一致的變數或者常量。

p輸出一個指針的地址,通常是輸出一個16進制的數。

3、效果不同

*p是讓編譯器從指定的地址中讀取出數據。

p是用來存放要讀取數據的地址。

(5)c語言p是值還是地址擴展閱讀

C語言中使用指針的作用:

1、指針使程序的不同部分能夠共享數據

類似於共享內存,如果將某一個數據值的地址從一個函數傳遞到另外一個函數,這兩個函數就能使用同一數據。

2、利用指針,能在程序執行過程中預留新的內存空間

大多數情況下,可以看到程序使用的內存是通過顯式聲明分配給變數的內存。但是在很多應用場合中,可能程序運行時不清楚到底需要多少內存,使用指針可以讓程序在運行時獲得新的內存空間,並讓指針指向這一內存更為方便。

3、指針可以用來記錄數據項之間的關系

在高級程序設計應用中,指針被廣泛應用於構造單個數據值之間的聯系。比如,程序員通常在第一個數據的內部表示中包含指向下一個數據項的指針(實際上就是鏈表了),來說明這兩個數據項之間有概念上的順序關系。

㈥ C語言指針 *p 中的 p 是地址嗎

這里就舉個例子
int num = 10;
int *p = & num;
printf("%p\n",p /* 相當於&num */); // 列印出num變數的地址,也就是指針p指向的地址
printf("%p\n",&p); // 列印 指針p本身的地址
printf("%d\n", *p/* 相當於num */); // *p操作指針指向的變數的值,列印結果為10

㈦ 在C語言中,地址與地址值有什麼區別

mai()
{int *p,w;這里定義了一個整型指針跟數據.它們各被分配了一個存儲單元,也就是地址,但是這個地址是不一定的,不可控制的.
w=9;在這里把9賦給了W,這時W的址地值就是9了.
p=&w;而在這里把W的地址賦給了指針變數P,這時P的地址值就是W的地址了.
簡單的說,地址是系統自動賦給的,每一個數據都有一個唯一的地址,而地址值是由用戶賦予的.是可控的.

㈧ c語言二級指針中二級指針p,*p是地址還是值,為什麼有的時候就是值而不是地址

對於一級指針而言,*p是取值,對於二級指針而言,*p是取地址,但是地址又是無符整形數據,所以在二級指針中你把*p當值來用的話,編譯不報錯,但是不合規定。

㈨ C語言程序int*p *p=1 這么初始化對不對 p是地址還是值

因為p所指向的內容你是沒有權利訪問
這里的p是地址,p指向的地方是未知也就是說你讓*p=1是非常危險的