c語言陣列不可以當成指標使用,但是指標可以當成陣列使用嗎?
1樓:惠企百科
可以。1.指標陣列:首先它是乙個陣列,陣列的元素都是指標,陣列佔多少個位元組由陣列本身決定。它是「儲存指標的陣列」的簡稱。
2.陣列指標:首先它是乙個指標,它指向乙個陣列。在32 位系統下永遠是佔4 個位元組,至於它指向的陣列佔多少位元組,不知道。它是「指向陣列的指標」的簡稱。
3.核心思想是通過乙個flag,來確定單詞的起始, 每出現乙個單詞的起始,則表示存在乙個單詞。 這樣統計出現的單詞起始個數,即可獲得單詞總數。
4.對於每個字元,如果出現非空格字元,且flag為1,則為單詞起始,累加計數器。同時賦值flag為0。
5.在flag為0情況下,如果出現空格,表示上乙個單詞已經結束,設定flag為1。
程式設計指標為什麼改不了陣列的值?
2樓:到處參觀
<>按上圖修改4個地方,以上**經過測試可以正確處理。
原來的問題:
1 我的編譯器提示沒有這個檔案,你怎麼通過編譯的,是什麼編譯器。
2 越界。不用解釋了。
3 指標b沒有移動。
#include
using namespace std;
void insert(int *a,int m)int *p,*b;
for(p=a;pp;b--)
b=*(b-1);
p=m;
3樓:網友
所謂不能改到底現象啥樣子啊?值不變?還是出錯?
這種問題還是需要好好學debug的,這時練手的最好機會,如果你debug不會,程式設計基本就是白學了。
c語言 陣列 輸出 指標 求高手解答
4樓:狄特里希
變數在記憶體中的分佈:
p=&a[0][0];和p=a[0];結果是一樣的。
p=&a[0][0]就是把a[0][0]的位址賦值給p,p就可以指向a陣列的首位址。
1是直接指標指向,比如int *p;
2是下標方式。
兩種方法是通用的,這是乙個基本規則。
5樓:網友
p 是乙個指向int指標,,而a是乙個int陣列,a[0][0]是個int 所以把其位址賦給p,及p指向陣列a,for中的意思是為陣列a中元素賦值,,p 指向a 就意味著*p =a[0][0] p+1就是位址在a[0][0]的位址上加上乙個int大小,就是a[0][1];因為陣列申請的位址是連續的,,所以。
for中只有一條語句 輸出不是迴圈中的答案是b
6樓:藍小顏
選b,p是指標,指向二維陣列的首位址,此時可以認為指標是乙個陣列p[i]分別指向a[0][0]、a[0][1]、a[0][2]、a[1][0]、a[1][1]..a[2][2]。在for迴圈中對p[i]賦值。
c語言陣列與指標,請講解為什麼。
7樓:校陽伯茂朝
你的題目有點問題「若有int
a[10];*p=a;」『10』這後面應該是逗號吧,如果逗號的話:選擇c
題目可以看成int
8樓:曾睿彤宦耘
int(*p)[4];
定義乙個陣列指標,指向含4個元素的一維陣列,陣列元素是int型別。
int*p[4];
定義乙個指標陣列,陣列中每個元素是乙個指標,指標指向**就要根據程式來定了。
判斷陣列指標與指標陣列主要通過運算子的優先順序來判斷。
int(*p)[4];
由於(的優先順序高,說明p是乙個指標,指向乙個一維陣列的指標int*p[4];
由於[的優先順序高,先與p結合成為乙個陣列,再由int*說明這是乙個整型指標陣列。
C語言中陣列到底是不是指標和陣列作為引數問題
陣列是實際上指標的語法糖 即指標才是最原始的 僅僅在陣列作為形參宣告時陣列才不可 解讀為指標 eg int func int a 和 int func int a 不同,其餘情況都可 進行 指標 和陣列的轉換 即 a i a i 一般 陣列用於儲存接收,而指標則用於 呼叫相關元素。當然兩者都有前面的...
C語言中指標與陣列有什麼關係,C語言中,指標和陣列的區別和聯絡
c語言中陣列和引數可以通用,陣列有一個基址,c中用指標指向它,計算陣列元素地址的時候,是基址 元素位元組數 元素序號 1 陣列名bai代表陣列在記憶體du中的首地址。指標可zhi以儲存一個地址dao,也即指向某地回址。在c中,答 對於某地址的訪問有兩種方式 1.直接訪問,如用變數名進行賦值等 2.間...
c語言中指標陣列和行指標的區別是什麼
int p 4 這個就是行指標 這種型別的指標p是指向一個一維陣列,這個一維陣列包含4個整形元素 但是 int a 4 p a 這種方式卻是不對的 因為p只能指向一個整型的一維陣列,不能指向一個整型資料,a所指向的正是a 0 是個整型數 實際上int p 4 這種型別的指標是用於多維陣列中的,比如定...