<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C語言基礎知識(6)--數組與函數

嵌入式技術 ? 來源:嵌入式技術 ? 作者:嵌入式技術 ? 2023-06-15 10:35 ? 次閱讀

1.數組概念

數組:相同數據類型的集合。

定義格式:數據類型 數組名[成員個數];

示例:char buff[10]; --表示定義一個char類型數組buff,buff可以存放10個char類型變量;

2.數組特性

1.數組空間連續的,下標是0開始的,最后一個成員下標為成員個數-1;
2.數組名字表示數組首地址。
3.數組可以整體賦值(必須在定義數組時完成),也可以單個成員賦值;
4.數組空間大小計算:sizeof(數組名);成員個數:sizeof(數組名)/sizeof(數組名[0]);
5.數組整體初始化時,未初始化的成員默認初始化為0;單個成員賦值時,未初始化的成員為隨機值。

pYYBAGSKdpCANmIAAABW7atE-d0405.png

示例:

#include 
int main()
{
	int buff[5]={10};/*定義一個int類型數組*/
	int data[]={10,20,20};/*定義一個int類型數組并完成初始化*/
	printf("buff數組空間:%ldn",sizeof(buff));
	printf("data數組空間:%ldn",sizeof(data));
	printf("buff數組成員個數:%ldn",sizeof(buff)/sizeof(int));
	printf("data數組成員個數:%ldn",sizeof(data)/sizeof(data[0]));
	int count=sizeof(buff)/sizeof(int);
	int i=0;
	/*數組遍歷*/
	for(i=0;i
pYYBAGSKdsaAffIdAAHWJ7IsChk959.png

示例2:定義一個5個成員整型數組,從鍵盤上獲取5個整數,輸出數組所有成員(正向和逆向);輸出最大值,最小值和平均值;

#include 
int main()
{	
	int buff[5];
	int count=sizeof(buff)/sizeof(buff[0]);
	printf("請輸入%d個整數:",count);
	int i;
	for(i=0;i=0;i--)
	{
		printf("%d ",buff[i]);
	}
printf(“n”);
	int min,max;
	float avg=0;
	min=max=buff[0];
	for(i=0;ibuff[i])
		{
			min=buff[i];
		}
		if(max

3.二維數組

一維數組僅有一行,二維數組則有行和列。

二維數組定義格式:數據類型 變量名[參數1][參數2];

示例:int buff[3][4];

行列性質:定義一個int類型的二維數組,二維數組有3行4列;

數組關系:定義一個int類型的二維數組,[3]表示在二維數組中存放3個一維數組,[4]表示每一個一維數組中有4個int類型成員。

二維數組空間計算:sizeof(buff);
二維數組行計算:sizeof(buff)/sizeof(buff[0])
二維數組列計算:sizeof(buff[0])/sizeof(int )

  • 二維數組定義及輸出示例:
#include 
int main()
{
	int array[3][4];
	int array2[][4]={10,20,30,20,20};
	printf("array=%lun",sizeof(array));//3*4*4=48
	printf("array2=%lun",sizeof(array2));//2*4*4=32
	int line=sizeof(array2)/sizeof(array2[0]);//計算行
	printf("line=%dn",line);
	int row=sizeof(array2[0])/sizeof(int);//sizeof(int)等同于sizeof(array2[0][0])
	printf("row=%dn",row);
	int i,j;
    //二維數組遍歷
	for(i=0;i

4.函數

函數作用:提高代碼利用率,是程序結構更簡潔、清晰。
函數特性:函數功能單一,重復利用性高;

4.1 函數格式

返回值類型 函數名(形參)
{
  語句塊;
}

函數沒有返回值時,返回值類型則用void表示
函數不需要傳參時,形參則用void表示。

4.2 注意事項

1.函數形參不能為靜態變量
原因:

1.靜態變量只會初始化一次,而函數形參每一次函數調用都會重新賦值。
2.靜態變量生存周期是和main函數一樣,而函數形參只能作用于當前函數。

2.函數形參與實參

1.函數形參是變量時不能改變實參的值。形參要改變實參的值需要通過指針方式。

2.函數形參只能作用于當前函數,形參名和實參名可以不一樣,但形參類型和實參類型必須一一匹配。函數形參由調用函數時分配空間,在函數結束時釋放空間。

3.函數返回值

1.函數返回值可以返回函數局部變量的值,不能返回局部變量的地址。

4.3 函數示例

形參為int類型,返回值為int類型。
寫一個函數實現求兩個數之和;

#include 
int func(int,int);/*聲明函數*/
int main()
{
	int data;
	int a=10;
	int b=20;
	data=func(a,b);
	printf("data=%dn",data);
}
/*
寫一個函數實現求兩個數之和;
*/
int func(int a,int b)
{
	return a+b;
}

形參為數組類型,返回值為void;

編寫一個函數,實現數組遍歷。

#include 
void array_print(int buff[],int count);//聲明函數
int main()
{
	int buff[]={10,20,30,42,20,20};
	printf("數組空間大小:%ldn",sizeof(buff));
	array_print(buff,sizeof(buff)/sizeof(int));
}
/*
實現函數:完成數組遍歷
形參:buff[]  --要遍歷的數組
     count  -- 數組成員個數
返回值:無
*/
void array_print(int buff[],int count)
{
	int i=0;
	//printf("數組空間大小:%ldn",sizeof(buff));//錯誤,不能對形參進行空間計算,對地址sizeof返回值永遠都為8
	for(i=0;i

編寫一個函數,實現二維數組遍歷。

#include 
void twoarray_print(int [][4],int ,int );
int main()
{
	int array2[][4]={10,20,30,20,20};
	int line=sizeof(array2)/sizeof(array2[0]);//計算行
	printf("line=%dn",line);
	//計算列
	int row=sizeof(array2[0])/sizeof(int);//sizeof(array2[0][0])
	printf("row=%dn",row);
	twoarray_print(array2,line,row);
}
void twoarray_print(int buff[][4],int line,int row)
{
	int i,j;
	for(i=0;i

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7548

    瀏覽量

    131334
  • 函數
    +關注

    關注

    3

    文章

    4117

    瀏覽量

    61465
  • 數組
    +關注

    關注

    1

    文章

    409

    瀏覽量

    25659
收藏 人收藏

    評論

    相關推薦

    C語言基礎知識科普

    C語言是單片機開發中的必備基礎知識,本文列舉了部分STM32學習中比較常見的一些C語言基礎知識。
    發表于 07-21 10:58 ?1748次閱讀

    C語言基礎知識(5)--循環語句

    C語言基礎知識(5)--循環語句
    的頭像 發表于 06-15 10:18 ?1504次閱讀
    C<b class='flag-5'>語言</b><b class='flag-5'>基礎知識</b>(5)--循環語句

    c語言基礎知識

    c語言基礎知識
    發表于 08-17 17:03

    Linux下C語言編程基礎知識

    Linux下C語言編程基礎知識
    發表于 08-20 17:21

    關于C語言基礎知識

    一、C語言基礎知識關于C語言C語言相對于匯編是屬于高
    發表于 08-20 07:03

    C語言基礎知識的樹狀結構是如何組成的

    該圖是關于C語言基礎知識的樹狀結構圖,也許里面有些地方看起來不夠主流,但是可能更合理。以后將會對該圖的所有細節知識點以通俗易懂的方式逐個梳理,敬請關注!...
    發表于 11-08 07:39

    C語言編程的基礎知識

    機器人創新實驗室培訓(軟件篇)--01前言C語言編程的基礎知識c語言的介紹c
    發表于 11-30 08:25

    淺談幾個C語言基礎知識

    文章目錄前言一、位操作二、使用步驟前言這里主要是簡單的復習一下幾個 C 語言基礎知識點,引導那些 C 語言
    發表于 12-09 07:14

    C語言基礎知識匯總

    單片機-C語言基礎知識總結本文為個人學習筆記,僅供學習參考用,如有侵權,請聯系zhankun3280@139.com(一)簡單理解32位操作系統只能支持4G內存(二)數據類型(?表示重要程度)重點
    發表于 01-24 07:28

    C語言基礎知識(一)

    、嵌入式系統和科學計算等領域。作為一名程序員,了解C語言基礎知識是非常重要的。本文將詳細介紹C語言的基礎概念,包括數據類型、變量、運算符、
    發表于 08-07 16:51

    C語言基礎知識(一)

    、嵌入式系統和科學計算等領域。作為一名程序員,了解C語言基礎知識是非常重要的。本文將詳細介紹C語言的基礎概念,包括數據類型、變量、運算符、
    發表于 08-10 15:16

    為什么C語言函數不能返回數組?

    C語言函數可以返回指針、結構體,為什么不能返回數組? 下面一步一步來分析: 1 函數不能返回數組 在C
    的頭像 發表于 03-29 11:18 ?1789次閱讀

    C語言基礎知識講解

    C語言基礎知識講解
    發表于 05-19 17:39 ?13次下載

    C語言-函數的定義、聲明、傳參

    C語言函數是非常重要的知識點,一個完整的C語言程序就是由主函數和各個子函數組成的,主
    的頭像 發表于 08-14 09:57 ?1685次閱讀

    STM32中C語言基礎知識

    C語言是單片機開發中的必備基礎知識,本文列舉了部分STM32學習中比較常見的一些C語言基礎知識,希望能對大家有所幫助。
    的頭像 發表于 04-27 17:42 ?1061次閱讀
    STM32中C<b class='flag-5'>語言</b>的<b class='flag-5'>基礎知識</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>