数据数组赋值_嵌入式-数组赋值
C語言中表達數據的基本類型時,用基本數據類型描述,例如整型,字符型,浮點型。在表達數據的復雜結構時,使用了構造數據類型這樣的特殊類型描述,例如數組,結構體,共用體。數組是最常用的構造類型,也是最簡單的構造類型。今天我們講數組的賦值,也就是怎么存儲數據到數組中,來,我們看下怎么盤數組。
講數組的賦值前,我們先來普及區分一組定義:數組聲明、數組初始化、數組賦值。
數組聲明:就是為數組將要申請的內存空間說明數據類型和將要申請的數據數量,也就是說,數組是申請存儲空間連續的若干個相似變量的集合。例如char a[10]; 數據類型都是char,是a作為代表,向內存空間申請了10個1字節空間。
數組初始化:數組在聲明的時候只是申請了內存空間的使用權,但并未決定空間的內容是什么,那么空間里的原來存了什么數據是不確定的,這時候使用會有干擾的數據,就需要在聲明時先清空或者提前明確存儲數值,這個在數組聲明時確定值的行為稱作數組初始化。
數組的賦值:因為數組在聲明時沒有初始化,數組存儲的值是不確定的,就需要在使用前先存儲數據。那么就需要明確值給每個數組成員確定值。數組因為是若干變量組成的,且數組大小聲明時確定,所以在賦值時需要根據實際聲明成功的數組單個元素操作,那么我們接下來就要具體研究下有幾種實用方法。
一、整型數據類型的數組
數組是構造類型,必須得對每個元素都尊重,賦值單獨對待,不可對數組名操作。
1. 先明確聲明整型數組:
#define N 10
int data[N];
2. 數組賦值
方法一,利用循環賦值:
int i;
for(i = 0; i < N; i++)
{
data[i] = i;
}
方法二,用戶自己決定每個數值:
int i;
for(i = 0; i < N; i++)
{
scanf(“%d”, &data[i]);
}
方法三,賦值部分數據:
data[0] = 10;
data[3] = 20;
......
二、字符數組
字符是C語言中用于處理字符數據的。在C語言里有字符類型,整型,浮點型,唯獨沒有字符串類型,所以存儲字符串也要用到字符數組。具體的不同點是字符數組存的多少字符就有多少字符成員,字符串存儲需要除存儲字符外,多存儲一個字符串結束標志‘0’,它本質也是一個字符,不過是轉義字符,專門用于描述字符串結束,ASCII值對應是0。而且字符串本身的使用很特別,只要知道字符串存儲的首地址就可以訪問整個字符串,所以字符串的名字就是字符串的首地址,可以被直接訪問。
1. 先明確聲明字符數組:
#define N 10
char data[N];
2. 數組賦值:
方法一,單獨存儲字符:
int i;
for(i = 0; i < N; i++)
{
data[i] =’a’;
}
或者,利用ASCII表:
int i;
for(i = 0; i < N; i++)
{
data[i] =65 + i;
}
方法二,利用指針:
int i = 0;
char *a = “hello”;
while(*a != ‘0’ && i < N){
data[i++] =*a++;
}
方法三,使用字符串函數
int len = strlen(“hello”);
strncpy(data, “hello”, len);
len = strlen(“world”);
strncat(data, “world”, len)
注意:
數組計數下標從0開始,最大下標是數組大小N-1;
本身是不做越界檢查,編譯器也不會做越界檢查,防止越界是程序員的邏輯問題;
關注我世界都變美好了
往期精彩回顧
◆ ◆ ◆ ◆ ◆
武漢晴川學院實訓課堂
嵌入式工程師吃青春飯嗎?
又是一年端午時
武漢工程大學實訓小課堂
一群快樂程序“猿”的日常
畢業季,你慌了嗎?“程序媛”教你收割高薪offer
總結
以上是生活随笔為你收集整理的数据数组赋值_嵌入式-数组赋值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小数向上_【实操技巧】社保计算方法:向上
- 下一篇: 实现定时中断_EPIT 定时器,仅需做到