1. c語言多維數組
&multi[0]不等於multi[0],
multi也不等於multi[0],
multi[0]是一維指針。
multi是一個二維指針。
multi[0][0]表示一個具體的int值。
你用%u輸出的結果實際上都是輸出了multi[0][0]的值。
2. 如何理解C語言中的四維數組
不管幾維,對內存而言都是線性的結構,而人們總是習慣把抽象和現實聯系起來。4維理解成n個3維組成的就好了。總之,不管多少維,都是線性的。
你無須按照空間理念去理解數組,C語言里還有N維數組呢,無非就是a[][][][][]...而已,可以存進更多的數據。
舉個例子吧,一維數組a[9]可以存10個元素
二維a[9][9]可以存100個元素,
三維a[9][9][9]可以存1000個元素
3. c語言中,多維數組最多是多少維我們老師說最多六十維請問為什麼
c語言默認最多是二維數組;當然如果用指針自己分配內存的話可以自行進行計算,進行更多維的表示。
原則上,C語言中數組所包含的元素個數理論上多少都行,如果要開一個很大的數組,比如int arrayint[10000][10000];在main()中聲明該數組就會使應用程序退出,但是如果把該數組的聲明放在所有函數體之外,讓它變成一個全局變數,就沒有任何限制了,想開多大的數組都可以。
(3)c語言多維數組多少維擴展閱讀:
如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,中括弧內的索引值是從0算起的。
如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 *(此處特指單目運算符 * ,下同。C語言中另有 雙目運算符 *) 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一。
4. 求C語言關於多維數組的詳細講解,急!!!
每一個[]代表一個方向 當然三維以上的數組不太容易用實體模式想像 但大概方式是一樣的
先搞明白1 2 3維對應於下標的方式 指針 地址的對應關系
比如對於int a[2][3][4]而言
a[1] a[1][1] a[1][1][1] a[1][1][3] a[1][2][0]
搞清以上幾項的地址關系
組數基本我們可以按行讀來理解[具體對應於代碼]
即 1維 從左向右讀
2維 a[2][3] 從左向右工a[][0]~a[][2] 3格 成為一行 每一行對應一個a[]
三維a[4][2][3]的在此基礎上增加到4個層面 (原來的2維對應為2*3格的一個面)
5. C語言中是否存在多維數組
多維數組只是一種說法,其實只不過是特殊的一維數組而已。只是說,這個特殊的一維數組的每個元素的類型不是常規的int、float等這些基本類型。而是obj這些特殊的類型。
6. C語言數組最高是不是只有三維
其實C語言是支持多維的,
只是我們一般用
計算機語言
是為了描述我們的真實的世界
所以一般來說都是用到1、2維的數組
有的時候為了一些需要也可能用到3維的
像你說的4、5維應該也有,只是我們平時沒怎麼見過而已~
7. c語言、三維數組
你就想像成全是一維的,C原來設計也只有一維。你可以想像成有個特殊的數組裡面每個元素又是一個數組,而這個數組裡面的每個元素他又是一個數組。你要說用線性代數可以空間理解,但是3維以上你給我空間想像一下啊,我想不到。指針當然要佔內存。雖然它指向某個內存的地方,但是他同樣需要某個東西指向它啊。打個比方好比它就是個路標,指向某個方向。但是機器編譯需要知道指向路標的路標一樣。我是這樣理解的。