簡體   English   中英

指向字符數組的指針

[英]Pointers to Character Array

所以我正在學習 C 並且對我正在學習的網站上的這個聲明有點困惑。

如果你有

char ch_arr[3][10] = {
                         "spike",
                         "tom",
                         "jerry"
                     };

它這么說。

ch_arr是指向 10 個字符或int(*)[10]的數組的指針

但是, int(*)[10]是什么意思,如果這是一個字符數組,為什么指針不是 char 類型?

在此先感謝,如果問題不好,我很抱歉,我正在努力提高提問的能力。

這是一個二維數組。 每個字符串(例如“spike”)都是一個字符數組。 這意味着它基本上是一個包含 arrays 的數組。

char ch_arr[3][10] = {"spike", "tom", "jerry"};

然后可以將二維數組ch_arr轉換為指針。 在 C 和 C++ 中,數組到指針的轉換在訪問時自動應用於每個數組,因此指針指向第一個元素,在這種情況下為char[10]類型。 因此,正如Keith Thoumpson在評論中指出的那樣,指針的類型為char(*)[10]

關於您正在使用的網站......它包含一些錯誤,所以我會使用不同的來源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM