C語言中,a是乙個三維陣列,那麼a 1是什麼意思

時間 2023-01-10 18:55:07

1樓:聽不清啊

c語言中,a是乙個三維陣列,那麼a+1是,這個三維陣列中的第二個二維陣列。這就好比用乙個二維陣列來表示一張**。那麼這個三維陣列就由若干張**組成,a+1就表示其中的第二張**。

2樓:song資源社

a是第乙個二維陣列的首位址。

a+1就是第二個二維陣列的首位址。

3樓:細雨在微笑

這些概念性的東西,還是寫**實證下,方便理解。

4樓:網友

在c語言中,無論陣列是一維二維還是三維的。都是根據變數的結構開闢一定的空間。比如說是整數型陣列,那麼乙個整數一般佔兩個位元組。

如果這個速度總共有24個數,如a[2][3][4],那麼a就表示這個整數陣列的位址, a+1就表示第2個變數的位址。

5樓:序言澤

a + 1 = a[1])

舉個例子:int a[3] =

printf("%d",a[1]);結果為2pintf("%d",*a+1));結果也是2在上面的**裡,a是陣列名,同時也是陣列的首位址,指向陣列的第乙個元素。a+1就是將a的值(位址)加上單個陣列元素個長度(在這裡是乙個int的長度),所以a+1就是指向了第二個元素,即a[1]。因為它是位址,所以在使用的根據情況加上解引用操作符。

c語言中 a+=1 什麼意思

6樓:匿名使用者

a+=1的意思是a=a+1,是a=a+1的簡寫形式。

相似的還有-=、等,其都與a+=1類似,如a-=1即為a=a-1。

能達到a=a+1功能的式子還有a++,a。

7樓:水晶

」a=a+1;「 a++;

但你要注意 a++ 是後加,要小心使用,相關細節你可以去搜尋一下。

如果你說的是。

if(a==10) —這裡沒分號。

dowhile()

這種形式,那麼這個if判斷是進入這個迴圈的條件。

8樓:匿名使用者

這裡的a=&a[0][0];

a+1=&a[1][0],也就是過了乙個a[0][1],因此是加了8個位元組。

&a+1是跳過整個陣列的位址,也就是加了16位元組。

9樓:網友

a是相當於a[0][n]

a+1是a[1][n]

n是幾就差n*4個位元組嘍。

a就是陣列首位址位址。

a為乙個陣列,那麼a +1表示什麼?

c語言中!a==1是什麼意思

10樓:匿名使用者

1樓是錯的。

!操作符優先度比==高。

所以只要a是0 !a就是1, 所以返回1

如果a不是0, 則!a就是0, 所以返回0所以等價於判定a是不是等於0

11樓:藍色_靈魂

可以理解為a等於0

!操作符優先度比==高,先計算!a

如果a=0則返回值為真,只要a不等於0則返回值為假。

12樓:匿名使用者

!優先順序要打於==

所以是先求!a然後再求==

如果不是這個意圖可用使用括號來表明邏輯:

!(a==1)

或(!a)==1

這樣描述更清晰。

13樓:瘋狂的羅素

!表示非,==表示驗證是否等於,!優先順序高於==,先執行!,在驗證是否等於1.

14樓:比微礁

!優先順序要打於==.a==1等價(!a)==1

15樓:匿名使用者

!a的含義是:如果a為假,則!a為真,如果a為真,則!a為假。為真就輸出1,為假就輸出0。題中!a=1就是說a為假,!a為真。

16樓:輝楚達鳥

a=a-=a*=a

從右bai往左計算。

a*=a就是a

=a*a,此時du

a為原來的平方。

a-=(a*a),就zhi是a=

a-a,其中a為最初a的平方,但dao是不管它是多少,a-a都是專0,此時a=0

a=a,也就是a=

0最後屬a=0

17樓:匿名使用者

這裡的a=&a[0][0];

a+1=&a[1][0],也就是過了乙個a[0][1],因此是加了8個位元組。

&a+1是跳過整個陣列的位址,也就是加了16位元組。

18樓:匿名使用者

a是相當於a[0][n]

a+1是a[1][n]

n是幾就差n*4個位元組嘍。

a就是陣列首位址位址。

c語言三維陣列問題

19樓:匿名使用者

多個相同的二維陣列可以用三維陣列表示。或者說三維陣列是以二維陣列為元素的陣列。

比如乙個城市有10個學校,每個學校有10個班,每個班有40個學生,那麼表示這10個學校的學生的語文成績的時候,就可以用乙個三維資料a[10][10][40]來儲存。

20樓:匿名使用者

一位陣列 你可以看成是 單個元素組成的陣列那 二維陣列 你可以看成是 一維陣列 組成的陣列三位陣列 自然就是 二維陣列組成的陣列完畢。

21樓:西平司馬

三維是乙個立方體,你把a [x] [y] [z]中的x,y,z理解成三維空間座標,這樣總能理解了吧。

c語言中,&a+1和&(a+1)的區別是什麼

22樓:匿名使用者

語句中,b = a+1 --指標a 指向的數值加1,*a 是數值, b 等於 那個數值 加 1。

或 把a看成陣列元素 b = a[0] +1;

*(a+1) -指標 (a+1) 指向的數值b = a+1) -可以看成陣列元素 b = a[1];

23樓:匿名使用者

a是指標?是的話,&(a+1)就是a指標指向的地方+1(型別)的位置;若是指向的是陣列的話,&a+1就是增加整乙個陣列的位址了。比如int b[8],*a=b,&a+1就是增加4*8=32個位元組了。

24樓:聽不清啊

c語言中,"a"佔2個位元組,乙個'a'和乙個'\0'(字串結束符),它是乙個字串。

'a'就只佔乙個位元組,即單個字元'a',它是乙個字元。

25樓:匿名使用者

c語言為了使寫法更方便,單條語句更簡短,增加了縮寫形式。

這兩種方式是一樣的,沒有任何區別。

除此之外,還有a *=1,a %=1,只要是操作符都可以。

26樓:我是你0爸

呃,,,樓上的各位都沒有答到本質上 從本質上講,「a」是乙個指標常量,而'a'則是乙個數值。也就是說,在編譯器看來,「a」的值是乙個位址(比如:0x84f39ea0),而'a'的值則是a的ascii碼(即97)。

樓主用printf列印這兩個值看看就知道了 另外,當「」裡的字串有多個字元時,它指向字串的第乙個字元。

27樓:匿名使用者

&a+1是a的位址加上1,&(a+1)是(a+1)的位址。

&是位址運算子和引用運算子。

28樓:匿名使用者

注意,後者是非法的。

29樓:匿名使用者

int b[2];

int *a;

a=b; /a指向陣列b首位址,暨b[0]的位址*a + 1 //a就是取a指向位址的值,暨b[0],所以*a+1 ==b[0]+1

30樓:燕清揚

例如a=2;

a++;輸出結果為2;但是記憶體中它的值自加1了。(先輸出a再運算)例如a=2;

++a;輸出結果為3;記憶體中也是3.(先運算a再輸出值)。

例如a=2;

a+=1;意思等同於a=a+1;

31樓:匿名使用者

取a的位址加1

取a+1的位址。

32樓:匿名使用者

a++:a先建立自身的乙個副本,然後a自增1,最後返回副本的值a+=1: 事實上相當於++a

a=a+1: 雖然有點雷同於a+=1,但不同的是此時右值的a和1做相加操作,形成乙個副本然後賦值給a,所以有額外操作。

++a:將a自增1並返回a

鑑於a++和++a的差別,c++primer建議用++a作為for迴圈的遞增量。

以上討論不僅限於int,還著重於對類的過載設計時的考慮。

33樓:

事實上是一樣的。

a>>=1的意思就是a>>1並賦值給a;

可能執行的效率會有錯。

34樓:曉呈呈

a++ 先取值再自加。

++a 先自加再取值。

a+=1 等同 a=a+1

35樓:匿名使用者

這裡的a=&a[0][0];

a+1=&a[1][0],也就是過了乙個a[0][1],因此是加了8個位元組。

&a+1是跳過整個陣列的位址,也就是加了16位元組。

36樓:匿名使用者

a是相當於a[0][n]

a+1是a[1][n]

n是幾就差n*4個位元組嘍。

a就是陣列首位址位址。

三維陣列怎麼理解c語言

37樓:金色潛鳥

先理解二維陣列,int a[3][4]; 理解成3行4列。例如:

1 2 3 4 //第1行。

5 6 7 8 //第2行。

9 10 11 12 //第3行。 你可以理解成 行索引號 是直角座標y值,列索引號 是直角座標x值。

現在變3維 int a[2][3][4]; 理解成深度(或高度)有2層的 3行4列 的陣列。

原來的 1 到 12 數值在 第一層,現在 有了第二層,第二層 數值是。

所以 3 維陣列 int a[z][y][x], 就有 z 層 y*x 大小的矩陣。

38樓:

元素是二維陣列的一維陣列。

C語言中怎麼把一維陣列賦給另外一維陣列

勵光解芷容 不可以,之所以不可以是因為陣列名是個常量,它的值是陣列首元素地址,即不能將其它值付給這個常量。可以採用迴圈的方法逐個複製,或者採用另一個同型別的指標 相對於陣列名,指標是變數 指向要複製的陣列,之後就可以採用這個指標訪問之前的那個陣列 武冰業雁菡 void main int b 10 i...

c語言一維陣列對角線求和,c語言 輸入乙個5 5的陣列,分別求其主對角線和輔對角線上元素之和

說明 一般求對角線之和都是針對矩陣的,即二維陣列的行列數相同。下面就是以矩陣舉的例 include define n 4 改變n的值可以改變陣列的大小 void main for i 0 i for i 0 i sum sum a i i printf 對角線和為 d n sum 邊介 n維的都可以...

C語言中一維陣列的最長維數是多少?謝謝

的可樂 ansi c89標準中規定,乙個陣列的尺寸 下標 必須是乙個整型常量表示式以便於在編譯時計算大小,而這裡的所謂常量 或者常量表示式的運算結果 一般是指unsigned int。16位編譯器 比如turbo c 中,unsigned int為16位,因此陣列最多32767個資料。32位編譯器 ...