怎麼給陣列指定首地址,比如指定陣列啊a的首地址是100,用c語言怎麼寫

2021-04-20 03:03:40 字數 1708 閱讀 2092

1樓:匿名使用者

通常在抄嵌入式系統設計中,或者微控制器系統設計中,有以下做法實現你說的地址與變數關聯,

typedef struct

pwm_typedef;

#define wn_pwm ( (pwm_typedef *) 0x40001000)

wn_pwm變數的地址就放在了0x40001000的地址。這個地址往往是flash中的地址。

如果你只是在寫基於計算機的軟體程式,那你的變數是不能直接和一個具體的地址進行關聯的,你的變數要麼在棧裡面被編譯器自動分配好,要麼自己申請堆,儲存在堆上,變數會自動對應一個固定地址。

2樓:匿名使用者

int a[0]=100;應該是這樣吧~

3樓:匿名使用者

type * a = (type *)100;

c語言:關於二維陣列的指標問題, 對於一維陣列來說,陣列a[i]的陣列名a就是陣列首元素的首地址,

4樓:匿名使用者

二維陣列,就是指陣列元素為 陣列 的 一維陣列,就按一維陣列的方式版去理解就可以了。

如:權int a[5][10] ; 可以看成 type b[5] ; type的型別為int [10] ;

陣列a[0],a[1],a[2]。。。都是一維陣列,也就是一維陣列的首地址

對應的指標方式為:*(a+0), *(a+1),*(a+2)....

如有問題,再追問!

5樓:匿名使用者

首先二維數du組是不是可zhi以看成幾個一維陣列dao的結合

比如a[3][4]是不是代表3個一維專陣列,一維陣列的大小是4那麼屬第一個陣列的陣列名是a[0],然後a[0]這個陣列裡面有四個元素分別為,第二個陣列名是a[1],以此類推

二維陣列相當於也是一個陣列,裡面裝的都是一位陣列a[3] = ,這裡的a[0]-a[3]是三個一維陣列,那麼*(a+i)就是a[i],a[i]就是一維陣列名,陣列名是不是就是地址,那麼*(a+i)就是地址,*(a+i)+j 是不是等價於a[i]+j ,a[i]我們剛才說了是一維陣列名,也就是地址,一個地址加上j是不是還是地址呢?*(a+i)+j = &a[i][j]的

c語言, a就是陣列的首地址啊,那a++不也是地址嗎? 還有,p[5]表示什麼?

6樓:金色潛鳥

a是陣列的首地址,那a++ 也是地址, 這裡的地址 是:

a地址 + 1 * sizeof( a 的型別)p[5] 在宣告裡表示 宣告 p 是陣列,它有5 個元素。例如: int p[5];

p[5] 在語句裡表示 下標變數,它是陣列p裡的第6個元素。 因下標 從 0 起始。 例如:p[5]=666;

語句裡 有等式: p[5] == *(p+5); -- 下標變數 與指標關係。

7樓:滿地花傷

這裡的a++的a不是常量int,所以仍然是地址,p[5]表示p陣列的第5個數

8樓:匿名使用者

如果是int a[10];這裡的a是陣列的首地址,但是const int*型別,也就是常量指標,它的指向不能修改,所以a++是不允許的。

如果有int *p = a;

p++就是指向了下一個整形的地址。

p[5]就是第6個元素。(而不是地址了,是地址對應的整形數)

C語言二維陣列的地址為什麼不可以賦值給指標變數

二維陣列抄的陣列名和襲 一維陣列的 陣列名不一樣。bai 一維陣列名dua表示其首地址zhi,指標型別是 int 二維數dao組名d表示其行指標,指標型別是 int 7 所以你要定義指標去用二維陣列名賦值,需要定義指標int k 7 不是int k。或者你把二維陣列當成一維陣列來看 二維內部地址是連...

c語言,怎麼用for 迴圈給陣列賦值說的簡單詳細點

for i 1 i 11 i scanf d a i 給個抄參襲考資bai 料你du看zhi 看吧dao 一個簡單 抄的例子 int main return 0 const int max szie 200 int arr max size 良好抄習襲慣,bai定義 du先初zhi始化 daofor...

給德國的德雷斯頓寫信怎麼寫地址啊?最好有詳細的例子

tanz und ballettschule wagner ostra allee 35 01067 dresden deutschland 這是一個芭蕾舞蹈學校的地址,在網上隨便摘來的。最上面的tanz und ballettschule wagner是學校的名字,這個作為普通的私人信件的時候要換...