為什麼int a1,2,3,4,5是對的,而int p 1,2,3,4,5是錯的?求解釋

2021-04-18 17:29:14 字數 2882 閱讀 7414

1樓:匿名使用者

int a=實際上是bai用初始

化空間du後,分配給a ;int*p這個定zhi義根據daoansi c++的規定p為指標,必須內顯式為其分配空間,否則容p指向的未知不定。

二者的差異是ansi/iso c++規範決定的。

2樓:

前面定義的來整型陣列,沒錯;

第二個自定義的是一個整型指標變數,但是你給它初始化了5個值,而它只能指向一個整型的變數,所以編譯錯誤;

你可以這樣定義:

int a=;

int * p =a;

3樓:滬上新視界眼科

個人看法:誤解bai了指標和

du陣列的關係!數

zhi組int a和指標 int *p中,daoa和p是可以賦值的回!即p=a成立。但是,答不準確的說,int a代表的是一個起始地址,這個地址儲存在a中;int *p代表的是一個整形變數!

不能用{}賦值。

4樓:匿名使用者

int a;

int *p = &a; //宣告一個指標後面是要跟一個地址的。

指標有指標的初始化方法,陣列有回

陣列的,要牢記,不能混淆答

你可以參考這個

5樓:匿名使用者

第一個int a說明a是一個陣列,裡面存放的是整形變數,而第二個int *p說明p是一個指向整形變數的指標,只有一個整形空間,準確的說這二個定義時所擁有的記憶體空間就不相同。

6樓:匿名使用者

對陣列來說,這樣的初始化是對的,但對指標來說,它初始化的是地址,舉個例子 char * p=「string」,它不是指的是* p=「string」,而是p等於這個字串的首地址 。

7樓:匿名使用者

*p為指標,p中儲存的是地址,你為地址初始化陣列元素顯然是不正確的

8樓:匿名使用者

前面是 int型別的陣列 當然無錯

後面你是想表達 指標型別? 那你後面大**裡面又是int··

int a[5]={1,2,3},*p=a;則*(p+1)的值是2 求解釋

9樓:匿名使用者

int a[5]=陣列抄在記憶體中申請了五個襲連續的地址,假設是五個方框吧□□□□□,依次存放了1,2,3,0,0;

*p=a;定義了一個指標,指向a陣列的首地址,也就是第一個方框,p+1,就是指向第二個方框。*(p+1)就是取p+1個方框內的資料,據上面分析,我們可知它是2.

10樓:匿名使用者

inta[5]=,i//定義

baiduint陣列a->5個連續的int儲存空間zhi首地址dao,按順序內

值為1,2,3,4,5;int*p=a;//定義int指標,並初始化值為a,指向容陣列首地址p+=2;//指標按int型別方式向下偏移2位,指向從a[0]->a[2],值從1->3for(i=0;i==0;i++)//for迴圈i初值為0(迴圈入口),迴圈判斷為i==0(每次迴圈前),i++為迴圈增量(每次迴圈後)cout<<*(p+2);//向cout流輸出*(p+2)的值,預設為std終端,p+2同上,指向a[4],*(p+2)為指向地址值為5。該迴圈一次後中斷

11樓:夏夜風襲

p 的值是 a 的地址,運算子 * 是定址,*(p+1) 就是 a[1] ,即為 2

答案為什麼是5?如題 謝謝了

12樓:憽人擦

這個問題的關鍵是理解 &a a是一個陣列名,也就是陣列的首地

址。 對a進行取地址運算子, 得到的是一個指向陣列的指標 !!!!這句話尤為重要!

也就相當於 int (*p) [5] = &a; p是一個指標,它指向的是一個包含5個int元素的陣列!! 那麼執行p+1後,p的偏移量相當於 p + sizeof(int) * 5 !! 而程式中強制將指標p轉換成一個int* 那麼 p -1 其實就是 p - sizeof(int) 所以,p -1 指向了陣列中得最後一個元素,也就是 5

麻煩採納,謝謝!

的值是多少?以及為什麼?謝謝啊

13樓:beibi小孑

p=[-3],這個不會出錯?

如果是p[-3]就是3;因為為是把數字6的地址給p了,p[-3]就是在a[5]地址上減3,指到 a[2],a[2]的值是 3

14樓:匿名使用者

p[0]是指當前指向的元素,p[-3]就是指前面第三個元素

15樓:忽視的發生

#include

using namespace std;

int main()

;//a[8],a[9]預設初始bai化為0int *p;

p=&a[5];//指標dup現在zhi指向陣列a中的dao第六個即a[6];

//p[-3]即表示指標p向前移動三個

回單位,也答就是a[2],注意實際地址變數的值不變,p仍是隻想a【5】

cout<

}加分吧,哥們,很辛苦的,嘿嘿

16樓:匿名使用者

按照p[0]=a[5],p[-3]=a[2];也就是a[2]=3;

生活經的12345是什麼意思,12345是什麼意思?

衛生部心血管病防治委員會副主任洪昭光教授編的有益於健康的 生活經 很實在,在此奉上勸君實踐。是 12345 即每天吃1只雞蛋,2百毫升鮮牛奶,3百克麵食,4兩水果,5百克蔬菜。按此食譜,基本可防止肥胖和缺鈣。紅黃綠白黑 即喝50 100克紅葡萄酒,多吃點黃皮水果 綠色蔬菜 乳白色豆製品和黑木耳 黑芝...

籃球場上對12345號位的球員分別有什麼樣身體素質及技術上的要求

個人認為,nba中,基德就不錯。2號位就是sg,也就是得分後衛,顧名思義,就是要得分能力高咯,比如科比,麥蒂,主位置都是2號位,要求的技術就是突破,得分,還有三分球。3號位就是sf,也就是小前鋒,小前鋒的主要職責就不好說了,理論上還是一個得分的位置,但是小前鋒要求的素質就多了,要能傳,能突,能投,能...

便民熱線12345具體是幹什麼的啊

12345公開 工作受理範圍包括 一 有關承辦單位的工作職責 政策法規 辦事流程 執法程式 行政審批等政務資訊及公共服務資訊的諮詢 二 承辦單位職責範圍內的非緊急類求助 三 對城市治理 公共服務 市場監管 經濟社會發展等方面的投訴舉報和建議 四 對行政機關 公共服務企事業單位工作人員工作作風 行政效...