第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C語言中,指針中的*是什么意思?

C語言中,指針中的*是什么意思?

C
慕容3067478 2019-05-31 07:02:18
int *piRand=0; /*例如我聲明了一個指針*/piRand=(int*)malloc(4*sizeof(int)); /*再將它指向動態(tài)內(nèi)存分配空間*//*piRand[]是一個指針,它存的是地址.為什么可以當數(shù)組使用?*/for(i=0;i<4;i++){piRand[i]=rand();}那么*是什么意思呢?為什么加了*就程序出錯?for(i=0;i<4;i++){piRand[i]=*rand();} 
查看完整描述

4 回答

?
子衿沉夜

TA貢獻1828條經(jīng)驗 獲得超3個贊

  1. 指針是C語言中廣泛使用的一種數(shù)據(jù)類型,指針的*主要出現(xiàn)在兩個地方

  2. 首先是在指針定義時出現(xiàn)的*,定義時的 * 相當于標識了指針變量,即表明這是一個指針變量

  3. 其次,指針在使用時也會出現(xiàn) *,這里的*的取內(nèi)容的意思,即把指針內(nèi)存儲的東西提取出來使用




查看完整回答
反對 回復 2019-06-01
?
翻過高山走不出你

TA貢獻1875條經(jīng)驗 獲得超3個贊

在聲明int *piRand中
*表示這個變量是int類型的指針
在聲明之外
*可以理解成一個運算符 或者一個函數(shù)
*和&是一對逆運算
&的意思是讀一個變量的地址
比如你聲明了int a;&a是a的地址可能是xx1001之類的
可以在調(diào)試里看一下
*的意思是讀一個地址指向的內(nèi)容
&*piRand==piRand
rand是一個地址
*rand是指向這個地址的地址
所以程序出錯了
piRand[i]=rand(); 的意思是把rand的地址賦值給piRand[i]

 




查看完整回答
反對 回復 2019-06-01
?
慕田峪7331174

TA貢獻1828條經(jīng)驗 獲得超13個贊

地址有規(guī)律地增長,
int是4個字節(jié)的位置
所以可以當數(shù)組使用,
每次地址增4表示下一個數(shù)

*是該地址 取數(shù)值
如p是指向 數(shù)i
那么*p就是取p指向的數(shù)的值

piRand[i]=*rand();

piRand[i]表示數(shù)組中的一個數(shù)字
所以piRand[i]=rand();
加個*是錯的



查看完整回答
反對 回復 2019-06-01
?
楊魅力

TA貢獻1811條經(jīng)驗 獲得超6個贊

*有多重意義:
1.在聲明變量時,它表示這是一個指針
2.還表示乘號
3.在scanf()中表示賦值約束。
4.在printf()中用于動態(tài)確定列寬和精度
5.用于間接訪問指針所指向的對象的值。

而在piRand[i]=*rand();中,不符合以上任何一條。

 





查看完整回答
反對 回復 2019-06-01
  • 4 回答
  • 0 關(guān)注
  • 524 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號