中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

國內(nèi)做的好看的網(wǎng)站設(shè)計杭州seo網(wǎng)絡(luò)推廣

國內(nèi)做的好看的網(wǎng)站設(shè)計,杭州seo網(wǎng)絡(luò)推廣,長沙招聘,廣州網(wǎng)站開發(fā)學(xué)校C語言中,有一類數(shù)據(jù)結(jié)構(gòu),它可以存儲一組相同類型的元素,并且可以通過索引訪問這些元素,沒錯,這類數(shù)據(jù)結(jié)構(gòu)就是數(shù)組。數(shù)組可以說是C語言中非常重要的數(shù)據(jù)結(jié)構(gòu)之一了。使用數(shù)組可以是程序邏輯更加清晰,也更加…

C語言中,有一類數(shù)據(jù)結(jié)構(gòu),它可以存儲一組相同類型的元素,并且可以通過索引訪問這些元素,沒錯,這類數(shù)據(jù)結(jié)構(gòu)就是數(shù)組。數(shù)組可以說是C語言中非常重要的數(shù)據(jù)結(jié)構(gòu)之一了。使用數(shù)組可以是程序邏輯更加清晰,也更加具有可讀性。

1 數(shù)組的聲明和初始化
1)數(shù)組的聲明

在C語言中,數(shù)組的聲明方式如下:

type arrayName[arraySize];
  • type:數(shù)組中元素的數(shù)據(jù)類型
  • arrayName:數(shù)組的名字
  • arraySize:數(shù)組的大小(即數(shù)組中可以存儲的元素個數(shù))

例如,聲明一個包含5個LED端口的數(shù)組:

GPIO_TypeDef* LED_PortLists[5];

聲明一個包含5個LED引腳的數(shù)組

uint16_t LED_PinLists[5];
2)數(shù)組的初始化

數(shù)組可以在聲明的同時進行初始化:

GPIO_TypeDef* LED_PortLists[5] = 
{GPIOA,GPIOA,GPIOA,GPIOA,GPIOA,
};uint16_t LED_PinLists[5] = 
{GPIO_Pin_10,						 GPIO_Pin_11,						 GPIO_Pin_12,						 GPIO_Pin_13,						 GPIO_Pin_14,						 
};

也可通過索引進行初始化,[index]中index為索引值。如:

GPIO_TypeDef* LED_PortLists[5] = 
{[0]				= GPIOA,							 [1]				= GPIOA,							 [2]				= GPIOA,							 [3]				= GPIOA,							 [4]				= GPIOA,							 
};uint16_t LED_PinLists[5] = 
{[LED_DEBUG]				= GPIO_Pin_10,						 [LED_FUN]				= GPIO_Pin_11,						 [LED_RUN]				= GPIO_Pin_12,						 [LED_TEMPEATATURE]		= GPIO_Pin_13,						 [LED_FAULT]				= GPIO_Pin_14,						 
};

如果初始化的元素個數(shù)少于數(shù)組大小,未初始化的元素會被自動賦值為0:

GPIO_TypeDef* LED_PortLists[5] = {0}; // 等價于 {0, 0, 0, 0, 0}

也可以省略數(shù)組大小,讓編譯器自動計算:

GPIO_TypeDef* LED_PortLists[] = {GPIOA, GPIOA, GPIOA, GPIOA, GPIOA}; 	// 數(shù)組大小自動為5
2 數(shù)組元素的訪問

數(shù)組元素可以通過索引訪問,索引從0開始:

 
uint16_t LED_DEBUG_PIN = LED_PinLists[0];		//訪問第一個元素
uint16_t LED_FUN_PIN = LED_PinLists[1];			//訪問第一個元素

可以通過索引修改數(shù)組元素的值:

LED_PinLists[0] = GPIO_Pin_9; // 將第一個元素的值修改為GPIO_Pin_9

在沒有引用數(shù)組類型前,我們前面是這樣來操作LED燈的。

void LED_DebugSetOn(void) 
{GPIO_ResetBits(LED_DEBUG_PORT , LED_DEBUG_PIN);			// 關(guān)閉
}void LED_DebugSetOff(void) 
{GPIO_ResetBits(LED_DEBUG_PORT , LED_DEBUG_PIN);			// 關(guān)閉
}void LED_DebugSet(bool value) 
{if(value == false){GPIO_ResetBits(LED_DEBUG_PORT , LED_DEBUG_PIN);			// 關(guān)閉}	else{GPIO_SetBits(LED_DEBUG_PORT, LED_DEBUG_PIN);			// 點亮}	
}void LED_Set(LED_t led,bool value)
{switch (led){case LED_DEBUG:LED_DebugSet(value);break;default:break;}
}

在引用了數(shù)組類型后,代碼就變成了這樣:

void LED_Set(LED_t led,bool value)
{if(value == false){GPIO_ResetBits(LED_PortLists[led] , LED_PinLists[led] );		// 關(guān)閉}	else{GPIO_SetBits(LED_PortLists[led] , LED_PinLists[led]);			// 點亮}	
}
3 二維數(shù)組

二維數(shù)組類似于矩陣,可以用兩個索引來訪問元素。聲明方式如下:

type arrayName[rows][columns];
  • type:數(shù)組中元素的數(shù)據(jù)類型
  • arrayName:數(shù)組的名字
  • rows:數(shù)組中行數(shù)的大小
  • columns:數(shù)組中列數(shù)的大小

例如,聲明一個2行3列的二維數(shù)組:

uint16_t LED_PinMatrixs[2][3];

二維數(shù)組的初始化:

uint16_t LED_PinMatrixs[2][3] = 
{{GPIO_Pin_1, GPIO_Pin_2, GPIO_Pin_3},{GPIO_Pin_4, GPIO_Pin_5, GPIO_Pin_6},
};

可以通過兩個索引訪問二維數(shù)組的元素:

uint16_t LED_PinValue = LED_PinMatrixs[1][2]; 	// 訪問第一行第二列的元素,GPIO_Pin_2
LED_PinMatrixs[0][0] = GPIO_Pin_0; 			// 修改第一行第一列的元素
4 常見數(shù)組操作
1) 數(shù)組遍歷

通過循環(huán)遍歷數(shù)組的每個元素:

for (int i = 0; i < LED_NUM; i++) 
{LED_Set((LED_t)i,true);				//LED燈全亮
}
2) 查找元素

遍歷數(shù)組,查找特定元素的位置:

uint16_t LED_PinValue = GPIO_Pin_3;
int index = -1;
for (int i = 0; i < LED_NUM; i++) 
{if (LED_PinLists[i] == LED_PinValue) {index = i;break;}
}
if (index != -1) 
{printf("元素 %d 在數(shù)組中的位置是 %d\n", target, index);
} 
else
{printf("數(shù)組中沒有找到元素 %d\n", target);
}
3) 元素移位

通過循環(huán)將數(shù)組中的元素依次向前移一位

uint16_t LED_PinValue = LED_PinLists[LED_NUM - 1];for(int i = LED_NUM - 1;i > 0;i--)
{LED_PinLists[i]=LED_PinLists[i-1];
}
LED_PinLists[0] = LED_PinValue;
4) 二維數(shù)組轉(zhuǎn)換為一維數(shù)組
int rows = 2;
int columns = 3;uint16_t LED_PinMatrixs[2][3] = 
{{GPIO_Pin_1, GPIO_Pin_2, GPIO_Pin_3},{GPIO_Pin_4, GPIO_Pin_5, GPIO_Pin_6},
};uint16_t LED_PinList[rows * columns];
for (int i = 0; i < rows; i++) 
{for (int j = 0; j < columns; j++) {LED_PinList[i * columns + j] = LED_PinMatrixs[i][j];}
}
5 數(shù)組名的本質(zhì)

數(shù)組名的本質(zhì)是指向該數(shù)組第一個元素的指針,關(guān)于指針,我們后面再討論

6 使用數(shù)組的注意事項

1)在通過數(shù)組索引訪問數(shù)組元素時,一定要注意數(shù)組的邊界,即索引大小應(yīng)小于數(shù)組元素的大小,5個數(shù)組元素,其索引值最大為4。

2)數(shù)組索引值從0開始計算。索引值應(yīng)大于等于0,且小于數(shù)組元素的大小。

http://www.risenshineclean.com/news/6532.html

相關(guān)文章:

  • lamp網(wǎng)站架構(gòu)民宿平臺搜索量上漲
  • 那個網(wǎng)站可以做全景圖網(wǎng)站的推廣方法有哪些
  • wordpress中修改鏈接地址東莞seo優(yōu)化推廣
  • 廣州模板建站定制網(wǎng)站提高銷售的10種方法
  • 網(wǎng)站商城的建設(shè)今天今日頭條新聞
  • 網(wǎng)站宣傳單舉出最新的網(wǎng)絡(luò)營銷的案例
  • 家居網(wǎng)站頁面設(shè)計圖片杭州百度快照優(yōu)化公司
  • 公司網(wǎng)站備案 問我借身份證 怎么拒絕百度網(wǎng)址入口
  • 網(wǎng)絡(luò)工程技術(shù)主要學(xué)什么網(wǎng)站優(yōu)化培訓(xùn)班
  • 免費企業(yè)網(wǎng)站建設(shè)哪個網(wǎng)站案例
  • wordpress調(diào)用昵稱武漢網(wǎng)站seo服務(wù)
  • 七星彩投注網(wǎng)站建設(shè)最近三天的新聞大事摘抄
  • 怎么用ps做網(wǎng)站首頁圖片尺寸seo中心
  • 做企業(yè)網(wǎng)站需要人維護么seo運營做什么
  • 公司的做網(wǎng)站怎么優(yōu)化整站
  • 加強公司網(wǎng)站建設(shè)及數(shù)據(jù)庫的通知購物網(wǎng)站如何推廣
  • 業(yè)務(wù)員自己做網(wǎng)站新網(wǎng)絡(luò)營銷
  • wordpress調(diào)用指定id目錄青島網(wǎng)站優(yōu)化
  • 廣東高端建設(shè)網(wǎng)站金戈枸櫞酸西地那非片
  • 安卓市場網(wǎng)站建設(shè)廣告軟文范例大全100字
  • 微軟雅黑適合于做網(wǎng)站嗎競價托管開戶
  • b2b電子商務(wù)網(wǎng)站的主要類型有哪些如何做百度競價推廣
  • wordpress郵件有%3c%3e佛山百度提升優(yōu)化
  • 愛民網(wǎng)站制作軟件開發(fā)網(wǎng)
  • wordpress修改域名后打不開搜索引擎優(yōu)化方法有哪些
  • 中國被墻的網(wǎng)站湖南企業(yè)競價優(yōu)化公司
  • 網(wǎng)站建設(shè)的總體需求分析鄭州百度關(guān)鍵詞seo
  • 臨朐縣網(wǎng)站建設(shè)上海百度整站優(yōu)化服務(wù)
  • 網(wǎng)站備案信息不準(zhǔn)確怎么發(fā)外鏈
  • 手機微網(wǎng)站開發(fā)教程怎樣優(yōu)化網(wǎng)站關(guān)鍵詞排名靠前