sizeof()

Giới thiệu

Hàm sizeof() có nhiệm vụ trả về số byte bộ nhớ của một biến, hoặc là trả về tổng số byte bộ nhớ của một mảng array.

Cú pháp

sizeof(variable) 

Tham số

variable: mọi kiểu dữ liệu hoặc mọi biến (thuộc bất cứ kiểu dữ liệu nào) hoặc một mảng.

Ví dụ

Hàm sizeof() tỏ ra rất hiệu quả trong việc kiểm tra độ dài chuỗi, nhưng bạn cần lưu ý cho về ký tự "cần cân" của Arduino. Sau đây là một ví dụ về việc đọc từng giá trị của một chuỗi cho trước. Để thấy được hiệu quả chương trình bạn hãy thử thay chuỗi trong ví dụ bằng một chuỗi khác xem.

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.write(myStr[i]);
    Serial.println();
  }
  delay(5000); // làm chậm chương trình để bạn thấy được chương trình này muốn nói lên điều gì
}

Lưu ý

Vì hàm sizeof sẽ trả về số byte bộ nhớ của một biến hay một mảng nào đó, vì vậy nếu bạn muốn ĐẾM Số phần tử của một mảng số nguyên có kiểu dữ liệu > 1 byte (như là: int, word, float,...) thì bạn cần chia số bộ nhớ của mảng cho số bộ nhớ của kiểu dữ liệu của mảng đó. Ví dụ một mảng có kiểu int.

for (i = 0; i < (sizeof(myInts)/sizeof(int)) - 1; i++) {
  // hàm làm gì đó với biến myInts[i]
}

 

Reference Tags: 
lên
12 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Bài 3: Cài đặt Driver cho máy tính để lập trình mạch Intel Galileo

Sau khi đã download phần mềm Arduino Galileo-ized IDE vs máy tính và cài đặt. Bước tiếp theo là bạn phải cài Driver cho máy tính để có thể lập trình được cho mạch Intel Galileo. Với mỗi hệ điều hành khác nhau, ta có những bước khác nhau. Vì vậy, bạn hãy chọn đúng hệ điều hành của mình để cài đặt driver.

lên
3 thành viên đã đánh giá bài viết này hữu ích.

Pin - Năng lượng cho mọi dự án Arduino

Pin là gì? Một dự án Arduino cần phải tính toán năng lượng như thế nào? Các loại pin nào phù hợp với các dự án Arduino? ... Những câu hỏi này có vẻ như rất gần gũi và dễ dàng trả lời nhưng để có được một phương án năng lượng tối ưu, bạn cần phải đọc qua bài này để nắm được những điều cần thiết cho một dự án Arduino!

lên
23 thành viên đã đánh giá bài viết này hữu ích.