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ả

Giao tiếp giữa máy tính và Arduino thông qua Serial - khám phá Processing

Ở bài viết Giao tiếp giữa hai mạch Arduino bất kỳ, chúng ta đã tìm hiểu cách giao tiếp giữa 2 vi điểu khiển khác nhau qua giao thức Serial. Trong bài viết đó, mình cũng đã đề cập đến việc có thể điều khiển các mạch Arduino qua giao thức Serial.bằng máy tính. Hôm nay chúng ta sẽ cùng tìm hiểu vấn đề này nhé!

Bạn mà có một ít kiến thức về lập trình Java thì sẽ rất có ích đấy trong bài viết này đấy!

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

VMIG - Kết quả vòng chung kết và trao giải thưởng

Như vậy là một kì VMIG đã trải qua, với hơn 140 ý tưởng đăng ký tham gia và 50 sản phẩm đã hoàn thiện, cuộc thi của chúng ta đã để lại những dấu ấn nhất định trong lòng mỗi thí sinh. Các bạn đã có những khoản thời gian làm việc cùng nhau, chia sẻ vui buồn, kỉ niệm từ lúc bắt đầu dự án cho đến khi hoàn thiện. Và ngày 22/01/2016 vừa quá, chính là ngày tỏa sáng của 16 nhóm xuất sắc nhất. Có thể nói, trong cái rét cắt da thịt ở Hà Nội, chính sự năng động, nhiệt huyết và tinh thần khoa học của các bạn đã làm ấm cả hội trường C2. Và giờ đây là lúc nhìn lại kết quả trong buổi trao giải, hãy cùng chúc mừng tất cả các đội đã dành chiến thắng, các bạn nhé heart​.

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