指針變量可以直接賦值嗎?為什么這樣賦值會(huì)有什么問題?
大家好,今天給各位分享指針變量可以直接賦值嗎?為什么這樣賦值會(huì)有什么問題?的一些知識(shí),其中也會(huì)對(duì)指針變量能賦值嗎進(jìn)行解釋,文章篇幅可能偏長,如果能碰巧解決你現(xiàn)在面臨的問...
大家好,今天給各位分享指針變量可以直接賦值嗎?為什么這樣賦值會(huì)有什么問題?的一些知識(shí),其中也會(huì)對(duì)指針變量能賦值嗎進(jìn)行解釋,文章篇幅可能偏長,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在就馬上開始吧!
文章目錄:
- 1、指針變量可以直接賦值嗎?
- 2、在C語言中能否直接給指針指向的數(shù)據(jù)賦值?為什么?
- 3、指針這樣賦值可以嗎
- 4、...直接給它賦值是錯(cuò)的嗎?那如果一個(gè)指針數(shù)組,沒有初始化可以直_百度...
- 5、c語言指針的賦值問題
指針變量可以直接賦值嗎?
1、指針變量存放的就是,所以可以直接把賦值給指針變量。輸出指針輸出的也是。因此,也有部分人認(rèn)為指針是。應(yīng)該說指針是類型。
2、可以賦值,但這個(gè)動(dòng)作很猥瑣。。呵呵。。 P 如果已經(jīng)被分配了 A ,賦值后原有的 A 就會(huì)變成廢,因?yàn)橘x給了 P 但是 P 沒有釋放,又不使用它,這樣在給其他指針分配的時(shí)候就不會(huì)使用 A , A 指向的空間就變成了一個(gè)泄露空間被掛起了。。
3、指針變量一般是不可以直接賦值的,因?yàn)橹苯淤x值的話,就是讓這個(gè)指針指向這個(gè)賦值的,萬一這個(gè)是你計(jì)算機(jī)內(nèi)部的某個(gè)程序的或者是的某個(gè),而你對(duì)這個(gè)指針的值又改變了,那么你的計(jì)算機(jī)就會(huì)出現(xiàn)問題,可能導(dǎo)致不能正常運(yùn)行活著程序出錯(cuò)等等。
在C語言中能否直接給指針指向的數(shù)據(jù)賦值?為什么?
1、可以,但int *p;*p=7;這樣不行。因?yàn)椤澳苤苯咏o指針指向的數(shù)據(jù)”賦值,而這里的p還沒有指向,所以不能賦值,這種指針有個(gè)名字叫“懸浮指針”,是不能給它賦值的。這樣才可以:int a,*p=*p=7;實(shí)際上就是使a等于了7。
2、可以直接給指針指向的數(shù)據(jù)賦值。因?yàn)?p操作是這樣一種運(yùn)算,返回p的值作為的那個(gè)空間的取值。存放的變量稱為指針變量。指針變量是一種特殊的變量,它不同于一般的變量,一般變量存放的是數(shù)據(jù)本身,而指針變量存放的是數(shù)據(jù)的。
3、*q, *p); return 0;}會(huì)輸出2 100000 這個(gè)等效于 a=b, float賦值給int,會(huì)自動(dòng)做轉(zhuǎn)換,也就是向下取整。當(dāng)如果是 q=p 那就不行了。 不同類型指針不可以直接賦值。如果一定要賦值 可以q=(int *)p;做顯式的轉(zhuǎn)換。 但是由于int和float的存儲(chǔ)結(jié)果不同,得到的值也是錯(cuò)的。
指針這樣賦值可以嗎
當(dāng)然可以,引用本身就不空間,不過賦值后會(huì)影響實(shí)參,如果你確定要這么做,否則必須在函數(shù)內(nèi)定義變量,指針。
可以直接給指針指向的數(shù)據(jù)賦值。因?yàn)?p操作是這樣一種運(yùn)算,返回p的值作為的那個(gè)空間的取值。存放的變量稱為指針變量。指針變量是一種特殊的變量,它不同于一般的變量,一般變量存放的是數(shù)據(jù)本身,而指針變量存放的是數(shù)據(jù)的。
這個(gè)函數(shù)的問題在于,函數(shù)接收的參數(shù)p,并不是最終能夠獲得字符串的p。傳遞的指針類型的參數(shù),是用來改變其指向內(nèi)容的,而指針本身的值不會(huì)改變。
可以,但int *p;*p=7;這樣不行。因?yàn)椤澳苤苯咏o指針指向的數(shù)據(jù)”賦值,而這里的p還沒有指向,所以不能賦值,這種指針有個(gè)名字叫“懸浮指針”,是不能給它賦值的。這樣才可以:int a,*p=*p=7;實(shí)際上就是使a等于了7。
...直接給它賦值是錯(cuò)的嗎?那如果一個(gè)指針數(shù)組,沒有初始化可以直_百度...
1、一個(gè)指針數(shù)組,在定義時(shí)就給他分配了內(nèi)存,當(dāng)然可以直接給指針賦值了,但是取值(*p[5]),仍然是不行的。??偠灾?,指針只有指向了實(shí)際的內(nèi)存才能被取值(*p或*p[6])。。純手打,望采納。。
2、以后,我們說一個(gè)指針的值是XX,就相當(dāng)于說該指針指向了以XX為首的一片內(nèi)存區(qū)域;我們說一個(gè)指針指向了某塊內(nèi)存區(qū)域,就相當(dāng)于說該指針的值是這塊內(nèi)存區(qū)域的首。 指針?biāo)赶虻膬?nèi)存區(qū)和指針?biāo)赶虻念愋褪莾蓚€(gè)完全不同的概念。
3、結(jié)構(gòu)體定義只表示一種類型,并沒有為結(jié)構(gòu)體成員分配實(shí)際內(nèi)存空間。因此,直接對(duì)結(jié)構(gòu)體進(jìn)行賦值是不正確的。例如,定義一個(gè)名為“Tea”的結(jié)構(gòu)體,它僅僅是一種類型,無法直接對(duì)成員進(jìn)行賦值。結(jié)構(gòu)體數(shù)組則是一個(gè)數(shù)組,其中每個(gè)元素都是結(jié)構(gòu)體類型。數(shù)組元素的賦值與普通數(shù)組相同。
4、錯(cuò)誤的,不能用賦值語句將一個(gè)字符串常量直接給一個(gè)字符數(shù)組賦值。chars[20];charss[]=hello;s=ss;錯(cuò)誤原因是:是您不能使用賦值語句將一個(gè)字符數(shù)組直接賦值給一個(gè)字符串?dāng)?shù)組,也就是說,必須使用strcpy()函數(shù)來實(shí)現(xiàn)一個(gè)字符串的副本(在c語言中,但是在c++的string類中,上面的賦值是正確的)。
5、內(nèi)存區(qū)域,就相當(dāng)于說該指針的值是這塊內(nèi)存區(qū)域的首。 指針?biāo)赶虻膬?nèi)存區(qū)和指針?biāo)赶虻念愋褪莾蓚€(gè)完全不同的概念。在例一中,指針?biāo)赶虻念愋鸵呀?jīng)有了,但由于指針還未初始化,所以它所指向的內(nèi)存區(qū)是不存在的,或者說是無意義的。
6、C語言中指針數(shù)組通常是用來構(gòu)成字符串?dāng)?shù)組,所以也被稱字符串?dāng)?shù)組。所以你的賦值應(yīng)該是用 表示的字符串。
c語言指針的賦值問題
指針賦值即將一個(gè)變量的賦值給指針變量。如:int *p = ,這里的p是指針變量,*表示它指向的是整數(shù)類型,&a是變量a的,將賦值給指針變量p。 指針的基本概念:在C語言中,指針是一種變量,其特殊之處在于它存儲(chǔ)的是其他變量的,而不是具體的值。
在C語言中,指針的賦值是通過將變量的賦給指針變量來實(shí)現(xiàn)的。指針的基本概念 在C語言中,指針是一個(gè)變量,其特殊之處在于它存儲(chǔ)的是其他變量的,而不是值本身。指針使我們能夠間接地訪問和修改變量的值。指針的賦值過程 當(dāng)我們?yōu)橹羔樧兞抠x值時(shí),實(shí)際上是將其指向一個(gè)變量的內(nèi)存賦給它。
指針在用要注意初始化,例如:int *p;p為指針,是未知的,如果直接賦值 p=a;這樣編譯可以通過,但是會(huì)產(chǎn)生告,p的是隨機(jī)分配的,這樣對(duì)未知的賦值很危險(xiǎn),可能會(huì)覆蓋掉某些重要數(shù)據(jù),所以避免這種危險(xiǎn),在定義指針時(shí)注意初始化,也就是賦值。
綜上所述,指針的聲明與賦值在C語言中是兩個(gè)基本操作,它們?cè)趯?shí)際應(yīng)用中有不同的場景和需求。通過理解上述兩種寫法的區(qū)別,程序員可以更靈活地應(yīng)用指針,以滿足不同的編程需求。靈活運(yùn)用指針的聲明與賦值,對(duì)于編寫高效、易于維護(hù)的代碼至關(guān)重要。
請(qǐng)分清“指針本身的值”和“指針指向的中的值”這兩者的區(qū)別。指針本身的值就是。
n 是整型變量,p是指向整型變量的指針,q是指向指針的指針。也就是 n中存放整型數(shù),p中存放整形數(shù)的,q中存放指針的。 * 在運(yùn)算中的作用是代表取指針?biāo)赶虻淖兞?。所以選D n1=0;p指向了n2,也就是通過*p能夠取到n2的值;同理通過*q也能夠取到n1的值。
END,本文到此結(jié)束,如果可以幫助到大家,還望關(guān)注本站哦!
本文鏈接:http:///bian/228635.html
下一篇:勾股定理常見數(shù)組口訣