微控制器C語言陣列賦值求助,C語言一維陣列賦值方法

時間 2022-05-31 10:15:09

1樓:手機使用者

陣列只能在定義的時候整體賦值,不能在之後這樣用。

所以你只能寫成

uchar frist[5]=;

而不能寫成

uchar frist[5];

frist[5]=;

如果你真的要在之後賦值,特別是每個成員不一樣,你只能用迴圈或者手動乙個乙個賦值。

或者先把所有值放在另外乙個數值然後memcpy給目標陣列。

2樓:匿名使用者

uchar 你之前定義過嗎?你這是對陣列賦值,而陣列的賦值只有二種方法,一種是初始化賦值,它可以對陣列整體賦值,即,你可以用uchar frist[5]=;

第二種就是在程式執行中賦值,即,沒有經過初始化賦值;那麼此時對它的賦值只能是逐個賦值,而不能像初始化賦值那樣對整體來賦值了。你先定義了陣列uchar first [5];即沒用有初始化賦值,所以是程式執行中的賦值,故只能逐個對它賦值了。即只能用first [0]=a,first [1]=b,這樣來賦值了。

明白了吧,呵呵。

3樓:匿名使用者

uchar frifrist[5]=;//正常,定義了五個元素,不能賦六個值,不能有f

frist[5]=;//錯誤,應該寫成frist[0]=a;frist[1]=b;frist[2]=c;frist[3]=d;frist[4]=e;

c語言一維陣列賦值方法

4樓:匿名使用者

不單能用for語句

一維陣列的宣告:

型別說明符 陣列名[常量表示式內]

例如 int c[10],它表明陣列名為容c,此陣列有十個整型變數。

注:常量表示式中可以包括常量和符號常量,不可以包括變數。也就是說,c不允許對陣列的大小做動態定義,即陣列的大小不依賴於程式執行過程中變數的值。

一維陣列的引用:

c語言規定只能逐個引用陣列元素而不能一次引用整個陣列。

陣列元素的表現形式為:陣列名[下標] 下標可以是整型常量或整型表示式。例如  c[0]=c[5]+c[7]-c[3*2]

一維陣列的初始化:

可以用賦值語句或輸入語句使陣列中的元素得到值,但這樣會影響速度。可以使陣列在執行之前初始化,即在編譯階段使之得到初值。在定義陣列時對陣列元素賦以初值。static int a[5]=

5樓:文化廚子

62616964757a686964616fe58685e5aeb9313333373866621、初始化時進行賦值。

int a[2] = ;

char str[20] = "hello world";

2、逐個賦值

int a[4];

a[0] = 1,a[1]=2, a[2] = 3, a[4]=4;

等同於。

for (int inx=0; inx!=4; ++inx) a[inx]=inx+1;

3、通過函式複製資料以實現賦值

比如下面的**,通過memcpy函式來實現資料的複製,以實現陣列賦值的功能。

#include

#include

#include

int main()

;int b[5];

//複製4個元素,b[4]將是隨機值

memcpy(b, a, 4 * sizeof(int));

for (inx=0; inx!=5; ++inx) printf("%d\t", b[inx]);

printf("\n");

memcpy(b, a+4, 5 * sizeof(int));

for (inx=0; inx!=5; ++inx) printf("%d\t", b[inx]);

printf("\n");

return 0;}

6樓:飛貓是我

int i,a[10];

for(i=0;i<10;i++)

cin>>a[i];

這樣可以用鍵盤賦值。輸入時可以以空格或回車作為分隔符

7樓:鄞家端木文心

main()

即可j=3;

//賦值但應該在開頭定義j的型別,否則會報錯a[j]=b;

printf("%d",a[j]);}

結果估計內是

0要麼就出容錯

這段程式有問題

8樓:風了瘋了鋒了

我覺得用for來賦值是最為節省空間

所以推薦,呵呵

9樓:

int i,a[10];

for (i=10;i~=0;i--)

a[i]=i;

51微控制器 c語言 串列埠陣列賦值問題

10樓:匿名使用者

貼上來的程式部分,修改如下:

#include

#include//列印到串列埠函式

#define uchar unsigned char#define uint unsigned intuchar date_zi[4][11]; //存放接收到的資料uint i_index=0; //接收到的字元個數uint i=0; //i字元用於迴圈unsigned int xia = 0; //用於儲存到資料的下標void fh_zi(uchar a) //返回字元到串列埠void init()

void main()

void ser() interrupt 4 //串列埠}}

變數賦值給陣列 c語言微控制器中

11樓:

你定義了位於xdata的陣列,可是你確認你的設計中包含外部儲存器嗎?

先確認。

12樓:匿名使用者

這是由於你沒有擴充套件ram,所以會出現這樣的問題。uint xdata number[8]=;將陣列變數放在外部儲存器中,uint number[8]=;將陣列變數放在內部暫存器中。

13樓:奇聞軼史

uint xdata number[8]

這是什麼東西? 看看基本的語法命名吧。。。。

51微控制器c語言程式設計怎樣建立乙個空的陣列,之後我要把資料放到陣列裡

14樓:

很簡單,定義乙個指定長度(必須有)的陣列,不初始化就可以了,最好指定一下儲存段,在訪問時可以優化一些。

例:int data address[20]; /* 整型陣列,名稱 address,長度 20,儲存在 data 段 */

char idata name[10]; /* 字元陣列,名稱 name,長度 10,儲存在 idata 段 */

long xdata table[100]; /* 長整型陣列,名稱 table, 長度 100,儲存在 xdata 段 */

15樓:

unsigned char a;

a[0] = 0x31;這樣賦值就可以

微控制器c語言中,微控制器C語言中 while a 是什麼意思 a為什麼要定義得那麼大 比如

金色潛鳥 我估計,那是用來作時間間隔控制。while a 是迴圈50000次,當a 變0時,while 結束。為何定得如此大,是因為空迴圈速度很快,只有迴圈很多次才能獲得足夠長的時間間隔。a 50000 while a 第2個 while a 似乎有問題,死迴圈。是不是前面漏了另乙個 a 50000...

微控制器C語言程式設計題,微控制器C語言程式設計題 20

爬行的山羊 這是兩個題啊。哈哈好做,第一個有c語言的冒泡法排序,第二個用中斷,讀,輸出就可以 include define led0 0 define led1 1 define led2 2 define ledport p2 sbit sw0 p1 0 sbit sw1 p1 1 sbit sw...

微控制器c語言中定義,微控制器C語言中 定義a1 P0 1 a2 P0 2 a8 P0 7 b P2 0 。a1 a8不斷隨機為1。

這樣實現 sbit p20 p2 0 char consum 0 char i,bitflag 0x01 for i 0 i 8 i if consum 3 p20 1 希望我的回答對你有幫助,有什麼問題歡迎一起 謝謝。 如果是c51微控制器 include void main 如果找完一次p0口後...