1樓:匿名使用者
「第0個元素」嚴格來說是錯誤的,因為最前的一個是「第1個」
但是陣列元素的下標是從0開始的,說「第0個元素」可以和下標統一假如一個陣列int a[3];那麼陣列名a就是該陣列的第一個元素的地址,也就是a[0]的地址
在這個陣列中,a[0]是一個int型別的數,不是地址除非陣列的元素中存放的本身是地址
int *a[3];那麼a[0]裡存放的是一個地址,a[0]這個元素的地址是&a[0].這個陣列等價於一個二維陣列
a[0]等價於*(a+0),也就是*a
a[1]等價於*(a+1),a[1]的地址是a+1a[2]等價於*(a+2),a[2]的地址是a+2a[3]越界了
2樓:匿名使用者
你學c++看什麼c程式設計?
這就是個文字遊戲, 最前面的元素叫第0個還是第1個都是有道理的,反正它是最前面的元素,並且它的序號是0, 它的地址就是陣列的地址
不是存放地址。。而是就是把陣列0序號的元素的地址作為陣列的地址
3樓:古道林峰
不論c或者c++,存放資料都是從0開始的,如int a=;
那麼即是:
int a[4];
a[0]=1;
a[1]=2;
a[2]=3;
a[3]=4;
這是等效的,而地址來說,這個陣列的地址就是第一個元素(a[0])的地址
4樓:
int a[5];
就是a[0],a[1],a[2],a[3],a[4],而沒有a[5]
所以陣列元素是0開始啊..這有什麼問題麼....
5樓:
簡單的來講吧 陣列在電腦的中的儲存方式就是以線性表的方式儲存的 所以知道了首地址也就相當於找到這個陣列 而陣列的第一個元素的下標 注意 是下標是從0開始的 例如a[0]就是這個陣列的第一個元素 許多因為叫習慣了就叫下標了 也就所謂的第0個元素
6樓:陰鈺
「c程式設計上寫的是一維陣列的第0個元素是此陣列的地址」這句話不太對,表示陣列的字母本身就是一個指標,它等於a[0]的地址。c的陣列都是從0開始的,而a[1]的地址就是(a/*指向陣列*/ +1 /*第二個元素*/),這個沒什麼問題。我們能這麼寫:
int a[5]; b=*(a+1); 這是b是第一個元素的值
二維陣列可以理解為陣列的陣列,如int a[6][5]就相當於一個型別為int[6]陣列的、擁有5個元素的陣列
菜鳥:c++中怎麼列印出陣列啊?
7樓:灩麗
1、首先需要使開啟vs2010編譯器,新建一個專案。
2、然後需要按照圖示**包含標頭檔案。
3、然後需要按照圖示**輸入main函式。
4、然後需要按照圖示**定義一個int陣列。
5、然後需要按照圖示**定義一個int變數i。
6、然後需要按照圖示**使用while語句列印陣列。
8樓:匿名使用者
c++中輸出陣列資料分兩類情況:字元型陣列和非字元型陣列
當定義變數為字元型陣列時,採用cout《陣列名; 系統會將陣列當作字串來輸出,如:
char str[10]=;
cout << str <如果想輸出字元陣列的地址,則需要進行強制轉換,如:
char str[10]=;
cout << static_cast (str) <當定義變數為非字元符陣列時,採用cout《陣列名; 系統會將陣列名當作一個地址來輸出,如:
int a[10]=;
cout << a <如果需要輸出陣列中的內容,則需要採用迴圈,逐個輸出陣列中的元素,如:
int a[10]=; //初始化前三個元素,其餘元素為0
for( int i=0;i<10;i++ )
cout << a[i] <<" " ;
cout <
9樓:死後的麥迪文
應該改為cout<<*a< 或for(int i=0,i<3,i++) //輸出三個 菜鳥c++問題,這些錯誤提示是啥意思? 10樓:不停的 你需要動態的期建立每個節點,還有就是不要對null進行衝定義 11樓:匿名使用者 那些只是警告,不是錯誤,重定義null也是可以的,不過是多此一舉,沒有錯,至於程式 cin>>p1->num; head=null; while(p1->num!=0) {cin>>p1->score; n=n+1; 把那句輸入放到迴圈裡面就行了 12樓:匿名使用者 null在c中本身就是一個值,上面那一句的意思 就是null這個值被你重新定義了。 13樓:匿名使用者 在c的標準標頭檔案裡 已經有了 #define null 0 所以你重新定義一邊 就會提示 [warning] "null" redefined 14樓:匿名使用者 將你的cin輸入分兩步,然後在第一次輸入的時候判斷一下輸入的是否為0. c++菜鳥學習路線 15樓:匿名使用者 隨便說幾點吧: 把c++當成和c完全不同的一門語言,如果沒學過c,那可能更好,直接學c++,不會受干擾,一開始就儘量多用標準庫,少用c的指標和陣列,c++最重要的是物件導向和泛型程式設計這兩種思想。 具體到書的話,先看看《c++primer》,這本書都被人推薦的爛了,不過我還是推薦,實在是入門的好書,c++標準庫方面的書的話,就看侯捷翻譯的那本《c++標準程式庫》吧。 不要一開始就看vc,由於微軟平臺在中國的流行,很多人把c++等同於visualc++,這個視角很狹窄,vc當然也是不錯的,不過不要一上來就學,搞c++也不一定要搞vc,除非你決定從事windows平臺的c++的開發,但總之,先把標準c++學通了再說。 c++可能是目前細節最多最豐富的高階語言了,學習時很容易陷入細節裡去,摳語言細節的那種哲學在c++的網路社群裡面很容易流傳開。但是除非必要,儘量少糾纏於細節。 學習最佳編碼實踐比學習c++更重要。看優秀的**也比埋頭用差勁的編碼方式寫垃圾**要有效。直接、清晰、明瞭、kiss地表達意圖比玩編碼花招要重要。 16樓:匿名使用者 首先是入門,先學會c的基本語法和資料結構吧,譚浩強,計算機專業的都認識他。以為基於c的基本教材。上網搜尋下會知道的。 有人認為c++是帶類的c,當然這是不完全正確的,c++除了類(物件導向)還有很多東東。但是不可否認c++有很多東西是基於c上做出來的。然後才開始c++學c++要的就是多看書。 越深的書越看。看了要多用,就是平時儘量用上c++的特性首先要搞清c++的原理和思想再綜合運用。推薦看《c++primer》《cpp cookbook》這兩本作為初階材料。 前提是你有一點初步的c++知識然後是這本< 就是千萬遺留一個你不明白得地方或疑惑的地方,因為這些地方是關鍵。 17樓:匿名使用者 我也剛學,你可以加我q。我可以幫你解決一些開始的問題。學c++要有耐心,你不能堅持的話,就不要學了。 18樓:長沙新華電腦學院 左邊是資料結構,右邊是語法,從上到下為基礎學習順序。 你好,我是個c++菜鳥,我想把c++輸出的資料以三維陣列的形式儲存到txt檔案中,應該是怎麼個思路呢?謝謝! 19樓:多啦 三維陣列的資料全部儲存到txt中,如果是可以看出是3個,【】【】是二維的5行6列。那輸出就是有3個5行6列 20樓: 輸出還是二維麼,第三維用空行標識下就好 21樓:匿名使用者 不好意思 這個我不太懂 22樓:豬兔子 用輸入輸出流裡面的fstream #include 用法在網上可以找到 c++菜鳥問題 23樓: 第一個問題: complex( double r, double i ) : re(r), im(i) {}」此語句是什麼意思 complex(dobule r, double i)是建構函式,這個應該沒疑問了。在建構函式裡初始化變數,有兩種方式,一種是在函式體裡賦值(注意,這叫賦值),這個你應該也見過了: complex( double r, double i ) 還有一種叫「成員初始化表「,就是上面的形式:re(r), im(i),最後的大括號還是函式體。 程式設計規範會告訴你,能用成員初始化表,就用初始化表,而不要在函式體裡賦值。而且,若派生類的建構函式要呼叫父類的建構函式,以及類中有類物件成員時,只能使用成員初始化表。後面這種情況,也是第二個問題的答案。 : item(l, k)//此語句是什麼意思 這裡的item,肯定是cfuitem類的一個物件成員,這句話是呼叫item這個物件所屬類的建構函式,來初始化item這個成員。此時,只能使用成員初始化表的形式。 我簡單看了一下 第一 if 30 i 6237 10 i 3 3564 錯誤應該是在這句 不但條件有問題,而且還在條件成立時執行了一個空語句,把分號去掉,改為 if 30 i 6237 10 i 3 3564 注意賦值符號和等號的區別,你寫的是賦值符號!第二 程式構成了一個死迴圈,break僅僅是跳... 現在大部分的計算機鍵盤在設計時已專門保留了一個鍵 prtsc sys rq 即f12鍵右側的那個鍵 該鍵的作用是將螢幕的當前畫面以點陣圖形式儲存在貼上板中。scroll lock鍵最早出現在ibm的pc xt機型的83鍵盤和at介面的84鍵盤上,現在這個鍵不僅僅出現在pc機的101鍵盤上,連蘋果機的... 是錯誤的。char cchar count 宣告瞭cchar是有count個元素的陣列,每個元素都是指向char型變數的指標。但cin cchar i 卻試圖給cchar的第二個元素 指標 賦一個鍵盤值 這裡指標還沒有確定指向,是隨機的,它隨機地指向了不能寫入的地方,就要出錯。這裡應該先給指標陣列賦...c語言菜鳥
很菜鳥的問題,考研 菜鳥的問題
c 指標陣列問題,C 中關於指標陣列的問題。