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口後...