C 指標賦值,C 指標賦值

2022-12-13 20:21:28 字數 1006 閱讀 8322

1樓:諸葛飛章邢慈

這裡,p1

是指標變數,指標變數儲存的是一個記憶體地址。t=p1,錯誤,無法將int*

轉換成int。

t=*p1,這裡的

*p1代表的是變數

p1中儲存的指標(記憶體地址)指向的記憶體中儲存的資料。

2樓:百長平位寒

p1是地址,t不是指標變數不能指向p1的地址,只能將p1的值賦給它:*p1;

&a;取地址,代表a的地址位置

定義的初始化時候用*p=(還有作為條件比值大小時),一般賦值改變指標指向都是p=;

3樓:逯智偉罕寧

char*p="abc";

是在記憶體開闢4個位元組的儲存空間,依次存放'a'

'b''c'

'\0'

4個字元

並把存'a'的那個位元組的地址

賦值給指標p

char*p;是說

定義一個指向字元型資料的指標p

指標p在記憶體中以

unsigned

int資料型別存放

而非以char型別存放

*p=*(p+0)=p[0]

4樓:匿名使用者

char *name; //這只是個指標 ,沒有指向記憶體空間,你怎麼輸入呢?

面name[10]; //name 是指向10個char 大小的空間存放字元,

你改成這樣也對

char name[10];

char *ptr=name;

cint>>ptr;

5樓:匿名使用者

第一個沒賦初值所以是錯的 ,第2第3把這指標搞成空指標了,

最後用結構體來實現是可以的

6樓:匿名使用者

cin>>*name;

這樣就行了。

7樓:匿名使用者

沒有開僻空間,你輸入的資料存哪?

c語言指標的賦值問題C語言指標的賦值問題

指標在用要注意初始化,例如 int p p為指標,地址是未知的,如果直接賦值 p a 這樣編譯可以通過,但是會產生警告,p的地址是隨機分配的,這樣對未知的地址賦值很危險,可能會覆蓋掉某些重要資料,所以避免這種危險,在定義指標時注意初始化,也就是賦值。可以int p a 或者int p p a 然後再...

C語言中可以給指標變數賦值常數嗎

1 申請了空間 在常量區 存放了字串 2 在字串尾加上了 0 3 返回地址,這裡就是返回的地址賦值給了p 字串常量 hello 出現在一個表示式中時,hello 表示式使用的值就是這些字元所儲存的地址 在常量區 而不是這些字元本身。所以,可以把字串賦值給指向字元的指標p,而不能把字串賦值給一個字元陣...

c語言中,空指標申請了記憶體但未賦值,它還是空指標麼

這裡的表達很不清楚。申請記憶體時實際就是從內 的堆 中,指定沒 有使用版的一塊區域來存權儲某個資料,區域的大小也就是位元組數在申請時已經傳遞給了記憶體申請函式,返回的指標就是這個區域的首地址。返回的指標賦值給某個變數,以後就可以通過這個指標變數來使用 儲存或者是讀取 所分配的這一塊記憶體區域了。所以...