微控制器 陣列 賦初值

2021-09-25 06:14:33 字數 716 閱讀 9257

2023年11月26日 20:51:15 sss_369 閱讀數 47

定義乙個陣列char a[10];

怎麼給這個陣列賦值呢?

1. 定義的時候直接用字串賦值

char a[10]="hello";正確

【注】:不能先定義再給它賦值,如char a[10]; a[10]="hello"; 這樣是錯誤的!

2. 對陣列中字元逐個賦值

char a[10]=;

3. 利用strcpy

char a[10];

strcpy(a, "hello");

易錯情況:

1. char a[10]; a[10]="hello";//乙個字元怎麼能容納乙個字串?況且a[10]也是不存在的!

2. char a[10]; a="hello";//這種情況容易出現,a雖然是指標,但是它已經指向在堆疊中分配的10個字元空間,現在這個情況a又指向資料區中的hello常量,這裡的指標a出現混亂,不允許!

注意:char a[10] = "hello";

a [0] = 'h';

a [1] = 'e';

這裡和verilog 不一樣,注意理解 實驗

51微控制器定時器初值計算

菜鳥關於51類微控制器的定時器初值計算問題的計算 首先先來介紹微控制器的幾個週期 1 時鐘週期,也稱為振盪週期 定義為時鐘脈衝的倒數,在微控制器中也就等於晶振的倒數。51微控制器中把乙個時鐘週期定義為乙個節拍 用p表示 2個節拍定義為狀態週期 用s表示 時鐘週期是微控制器中最小的時間單位。eg 12...

單 片 機 定 時 器 初 值 例項計 算

一 10ms定時器初值的計算 1.晶振12m 12mhz除12為1mhz,也就是說一秒 1000000次機器週期。10ms 10000次 機器週期。65536 10000 55536 d8f0 th0 0xd8,tl0 0xf0 2.晶振11.0592m 11.0592mhz除12為921600hz...

單 片 機 定 時 器 初 值 例項計 算

一 10ms定時器初值的計算 1.晶振12m 12mhz除12為1mhz,也就是說一秒 1000000次機器週期。10ms 10000次 機器週期。65536 10000 55536 d8f0 th0 0xd8,tl0 0xf0 2.晶振11.0592m 11.0592mhz除12為921600hz...