以下是個人總結的,如有誤請指出。
前者的數是固定的,後者的數是随機的。
前者隻是規定了參數是什麼類型的一個形式的參數 ,後者是一個實際的參數。
函數模塊化無非就是把實現功能的語句放進C文件,再把定義函數的語句放進H文件(頭文件)然後再在主函數main裡面直接調用頭文件裡定義的語句。
傳統方式編程:所有的函數均放在main.c裡,若使用的模塊比較多,則一個文件内會有很多的代碼,不利于代碼的組織和管理,而且很影響編程者的思路
模塊化編程:把各個模塊的代碼放在不同的.c文件裡,在.h文件裡提供外部可調用函數的聲明,其它.c文件想使用其中的代碼時,隻需要#include "XXX.h"文件即可。使用模塊化編程可極大地提高代碼的可閱讀性、可維護性、可移植性等
模塊化
子函數:将完成某一種功能的程序代碼單獨抽取出來形成一個模塊,在其它函數中可随時調用此模塊,以達到代碼的複用和優化程序結構的目的
void Function(unsigned char x, y)
{
}
返回值 函數名(形參)
{
函數體
}
數組:把相同類型的一系列數據統一編制到某一個組别中,可以通過數組名 索引号簡單快捷的操作大量數據
int x[3]; //定義一組變量(3個)
int x[]={1,2,3}; //定義一組變量并初始化
x[0] //引用數組的第0個變量
x[1] //引用數組的第1個變量
x[2] //引用數組的第2個變量
引用x[3]時,數組越界,讀出的數值不确定,應避免這種操作
C語言的預編譯以#開頭,作用是在真正的編譯開始之前,對代碼做一些處理(預編譯)
預編譯 |
意義 |
#include <REGX52.H> |
把REGX52.H文件的内容搬到此處 |
#define PI 3.14 |
定義PI,将PI替換為3.14 |
#define ABC |
定義ABC |
#ifndef __XX_H__ |
如果沒有定義__XX_H__ |
#endif |
與#ifndef,#if匹配,組成“括号” |
選擇結構
就是實現選擇功能的。
循環結構
實現循環功能的。
一個加工廠 給材料返回東西,就叫有參數有返回值。
一個加工廠 不給材料返回東西 ,就叫無參數有返回值。
一個加工廠 給材料不返回東西,就叫有參數無返回值。
一個加工廠 不給材料不返回東西,就叫無參數無返回值。
如何接住返回值呢?
定義一個變量,然後把函數有返回值的函數調用再賦值給變量。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!