Page 56 - ArduinoและPOP-BOT
P. 56
56
4.11 ตั วกระทํ าอื่ นๆ ที่ เกี่ ยวข องกั บตั วแปร
4.11.1 cast : การเปลี่ ยนประเภทตั วแปรชั่ วคราว
cast เป นตั วกระทํ าที่ ใช สั่ งให เปลี่ ยนประเภทของตั วแปรไปเป นประเภทอื่ น และบั งคั บให คํ านวณค าตั วแปร
เป นประเภทใหม
รู ปแบบคํ าสั่ ง
(type)variable
เมื่ อ Type เป นประเภทของตั วแปรใดๆ (เช น int, float, long)
Variable เป นตั วแปรหรื อค าคงที่ ใดๆ
ตั วอย างที่ 4-37
int i;
float f;
f = 4.6;
i = (int) f; // now i is 3
ในการเปลี่ ยนประเภทตั วแปรจาก float เป น int ค าที่ ได จะถู กตั ดเศษออก ดั งนั้ น (int)4.2 และ (int)4.7
มี ค าเท ากั นคื อ 3
4.11.2 sizeof : แจ งขนาดของตั วแปร
ใช แจ งบอกจํ านวนไบต ของตั วแปรที่ ต องการทราบค า ซึ่ งเป นทั้ งตั วแปรปกติ และตั วแปรอาเรย
รู ปแบบคํ าสั่ ง
เขี ยนได ทั้ งสองแบบดั งนี้
sizeof(variable)
sizeof variable
เมื่ อ Variable คื อตั วแปรปกติ หรื อตั วแปรอะเรย (int, float, long) ที่ ต องการทราบขนาด
ตั วอย างที่ 4-38
ตั วกระทํ า sizeof มี ประโยชน อย างมากในการจั ดการกั บตั วแปรอาเรย (รวมถึ งตั วแปรสตริ งค ) ตั วอย าง
ต อไปนี้ จะพิ มพ ข อความออกทางพอร ตอนุ กรมครั้ งละหนึ่ งตั วอั กษร ให ทดลองเปลี่ ยนข อความ
char myStr[] = “this is a test”;
int i;
void setup(){
Serial.begin(9600);
}
void loop() {
for (i = 0; i < sizeof(myStr) - 1; i++){
Serial.print(i, DEC);
Serial.print(“ = “);
Serial.println(myStr[i], BYTE);
}