乙個C知識點求教!

時間 2025-03-03 20:25:12

1樓:匿名使用者

ptr=array ,合法,array 是陣列的名稱,也是陣列的首位址。

p=count 單從該語句來說沒有錯,是把count的值作為位址付給指標p

但結合上文就有一些問題了,因為將count的值賦給p所指空間前,p沒有指向,這種賦值易使系統出現混亂。

正確的方法可以是這樣:

int *p,count,y;

p=&y; /p已指向具體的儲存空間,這個空間是由系統分配的,p=count ;

2樓:

指標是記憶體中的位址,那麼什麼是位址呢,位址就是乙個用來標識記憶體中某乙個位置的整數值。

如一段記憶體從1~20000 .

指標其實就是乙個整數值,它所能指向的型別是代表這段首位址的連續記憶體有多長 ,int *ptr;宣告乙個指向int型別的指標,一般int型別是2個節字或者4個節字,當ptr被給定了乙個整數值,那麼*ptr會呼叫這段連續記憶體儲存的值,連續到哪結束就是和它指向的型別有關的。

當ptr=array;//假設array[0]的位址是1000,那麼 ptr=1000;指向記憶體中標號1000的地方。

p=count;//count直接取的是乙個整數變數的值,這裡你沒有初始化,所以當count=多少時,p就指向哪個位置。而與&count無關。謝謝。如果不懂,你可以參考以下:

3樓:

第乙個是指指標ptr指向陣列array的第乙個元素的位址,也是指向陣列首位址。

第二個是是把count的值賦給p指標所指的單元。

4樓:網友

不是,是把count的值賦給指標p所指向的位址,此時指標變數p存的是count的位址,*p則表示指向p所存的位址的資料值,假如變數count的位址是0xff,而這塊位址(0xff)存放的資料是10,則p=0xff,*p=10;不過我們一般沒有把位址值(如0xff)直接賦值給指標變數(如p),需要注意的是,指標一旦定義就務必要賦初值,以免造成他訪問了不該訪問的位址甚至修改了未知位址處所存的資料,一般不直接把位址值(如0xff賦給他也是這樣)不知道說清楚沒,歡迎追問。

5樓:匿名使用者

指把count變數的位址賦值給指標p

C 簡單問題求教,一個C 簡單問題 求教

cin inline 1 你只輸入了一個位元組 或者說你輸入時記憶體越界了 include include using namespace std int main int count 0 cin inline int i 0 while inline i 0 cout the number of ...

初一下英語知識點總結,初一英語知識點總結

1.a bottle of 2.a little 3.a lot of 4.all day 5.be from 6.be over 7.come back 8.come from 9.do one s homework 10.do the shopping 初一英語unit1 3 知識點 1 喂2 ...

高一數學知識點總結,高中數學知識點總結

山瑤所念 一 集合與簡易邏輯 集合具有四個性質 廣泛性 集合的元素什麼都可以 確定性 集合中的元素必須是確定的,比如說是好學生就不具有這種性質,因為它的概念是模糊不清的 互異性 集合中的元素必須是互不相等的,一個元素不能重複出現 無序性 集合中的元素與順序無關 二 函式這是個重點,但是說起來也不好說...