為什麼inta,intppa為什麼a可以賦值p

2021-03-03 20:30:24 字數 901 閱讀 4666

1樓:gta小雞

二維陣列名的本質是指向一維陣列的指標常量,即a是一個int(*)[4]型別的指標,指向一個int[4]陣列。int (*p)[4]也是同一型別的指標,可以令p=a。

2樓:匿名使用者

陣列名錶示第一個值的地址,也就是加一個*。p陣列型別是int*,p型別就是int**。二維陣列就是陣列裡再開一個陣列,也是int**

c語言指標:int a[3][4],(*p)[4];p=a;為什麼*p會等於&a[0][0]? p

3樓:逛a逛

你需要理解 &a a a[0] 和a[0][0]的區別,其中&a是得到整片陣列的地址,a是第一行的地址,a[0]是第一行陣列的地址,a[0][0]是第一個元素的值。&a=a = a[0]=&a[0][0]。他們的值是一樣的,都是地址,但是他們代表的步長不一樣。

步長體現在你做加法的時候,比如(&a++),地址就偏移了sizeof(int )*3*4的後面,到了這一片陣列的後面,a++就是偏移了sizeof(int)*4,偏移到a[1],a[0]++就是偏移了sizeof(int),到了&a[0][1].而你說的*&a[0] = a[0],是個地址。a=&a[0].

若有定義 int a[3][4],b[4][3],(*p)[4]; 下列賦值等式正確的是 答案是 p=&a[1] p=b為什麼錯

4樓:匿名使用者

(*p)[4]的意思是:p是一個指向具有4個int型別元素陣列的指標。

a[3][4]有3行,每行的元素有4個

b[4][3]有4行,每行的元素有3個

所以 p=&a[1]是對的,讓p指向a的第二行的四個元素,因為a的每行有四個元素,這與p的定義恰恰是匹配的。

為什么為什么這樣,為什麼?????為什麼這樣???

朋友,有一點可以肯定,她連什麼是愛都不知道。所以如果你和她說愛,那就是滑天下之大嵇了。愛不是朝三暮四的事情。愛,就要懂得持之以恆,愛,就要懂得善始善終。雖然不說什麼山窮水盡,不說什麼天芒地老,但最起碼要能愛一生,一輩子。所以我勸你該放就放吧,明天還有一個真正值得去愛的人等著你。什麼人啊?哥們看開點,...

為什麼tfboys這麼紅,TFboys為什麼這麼紅

tfboys有實力,有顏值,他們的努力你們遠遠看不到 三個孩子都很努力 成績都不錯 tf的活最早是在某漫展好像,後來被acg罵了,就突然火了,從此他們走上了一條不歸路,只要有活動背後必定有罵聲一片。最後不想認識他們的也莫名其妙的認識了,伴隨著罵聲壯大的是一個強大的粉絲團體。那麼最早的罵聲是怎麼來的呢...

為什么活著,人為什麼活著

為了爭一口氣,我活得自在,為了將來,辛苦點算什麼?人為什麼活著 人活著就 是做事築夢過日子就得細雨輕風,人活著就是傳道授業解迷惑就得目明耳聰,人活著就是濟困幫窮助學子就得安富尊榮,人活著就是遵紀守法幹事情就得成竹在胸,人活著就是盡職盡責愛家國就得大智大勇。人活著就是愛惜愛好按道理就得休慼與共,人活著...