字符指針可以直接賦值嗎?可否直接替換

指針變量能直接賦值嗎? 可以直接給指針指向的數(shù)據(jù)賦值。因為*p操作是這樣一種運算,返回p的值作為的那個空間的取值。存放的變量稱為指針變量。指針變量是一種特殊的變量,它不...
指針變量能直接賦值嗎?
可以直接給指針指向的數(shù)據(jù)賦值。因為*p操作是這樣一種運算,返回p的值作為的那個空間的取值。存放的變量稱為指針變量。指針變量是一種特殊的變量,它不同于一般的變量,一般變量存放的是數(shù)據(jù)本身,而指針變量存放的是數(shù)據(jù)的。
可以,但int *p;*p=7;這樣不行。因為“能直接給指針指向的數(shù)據(jù)”賦值,而這里的p還沒有指向,所以不能賦值,這種指針有個名字叫“懸浮指針”,是不能給它賦值的。這樣才可以:int a,*p=*p=7;實際上就是使a等于了7。
指針變量一般是不可以直接賦值的,因為直接賦值的話,就是讓這個指針指向這個賦值的,萬一這個是你計算機內(nèi)部的某個程序的或者是的某個,而你對這個指針的值又改變了,那么你的計算機就會出現(xiàn)問題,可能導(dǎo)致不能正常運行活著程序出錯等等。
a 實際上就是數(shù)組的首,而指針變量則是一個存儲的變量。因此,數(shù)組可以用指針來表示。但是嚴格來說,數(shù)組不能直接賦值給指針變量,因為這會導(dǎo)致類型不匹配。實際上,當(dāng)數(shù)組賦值給指針時,傳遞的是數(shù)組的首。在C語言中,數(shù)組名本身就是一個指向數(shù)組第一個元素的指針。
能直接給指針指向的數(shù)據(jù)賦值嗎?
1、可以,但int *p;*p=7;這樣不行。因為“能直接給指針指向的數(shù)據(jù)”賦值,而這里的p還沒有指向,所以不能賦值,這種指針有個名字叫“懸浮指針”,是不能給它賦值的。這樣才可以:int a,*p=*p=7;實際上就是使a等于了7。
2、可以直接給指針指向的數(shù)據(jù)賦值。因為*p操作是這樣一種運算,返回p的值作為的那個空間的取值。存放的變量稱為指針變量。指針變量是一種特殊的變量,它不同于一般的變量,一般變量存放的是數(shù)據(jù)本身,而指針變量存放的是數(shù)據(jù)的。
3、a 實際上就是數(shù)組的首,而指針變量則是一個存儲的變量。因此,數(shù)組可以用指針來表示。但是嚴格來說,數(shù)組不能直接賦值給指針變量,因為這會導(dǎo)致類型不匹配。實際上,當(dāng)數(shù)組賦值給指針時,傳遞的是數(shù)組的首。在C語言中,數(shù)組名本身就是一個指向數(shù)組第一個元素的指針。
4、數(shù)組名可以視為數(shù)組的起始,直接將數(shù)組名賦給指針。例如,int array[50]; int *p = array;,此時指針p指向數(shù)組array的起始。動態(tài)內(nèi)存分配:使用new運算符為指針變量動態(tài)分配內(nèi)存空間,并將分配的內(nèi)存塊的起始賦值給指針。
本文鏈接:http:///kaifa/876619.html
上一篇:紹興孫端有哪些村