string

Giới thiệu

string tiếng Anh nghĩa là chuỗi. Trong một chương trình Arduino có 2 cách để định nghĩa chuỗi, cách thứ nhất là sử dụng mảng ký tự để biểu diễn chuỗi. Bài viết này xin mô tả chi tiết về cách thứ nhất.

Cách khai báo

char Str1[15]; // khai bảo chuỗi có độ dài là 15 ký tự.

char Str2[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'}; //khai báo chuỗi có độ dài tối đa là 8 ký tự và đặt nó giá trị ban đầu là arduino (7 ký tự). Buộc phải khai báo chuỗi nằm giữa hai dấu nháy đơn nhé! 

char Str3[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o', '\0'};//khai báo chuỗi có độ dài tối đa là 8 ký tự và đặt nó giá trị ban đầu là arduino<ký tự null>  (8 ký tự)

char Str4[ ] = "arduino";// Chương trình dịch sẽ tự động điều chỉnh kích thước cho chuỗi Str4 này và ngoài ra bạn phải đặt một chuối trong dấu ngoặc kép

char Str5[8] = "arduino";// Một cách khai báo như Str3
char Str6[15] = "arduino"; // Một cách khai báo khác với độ dài tối đa lớn hơn

CHÚ Ý: mỗi chuỗi đều cần có 1 ký tự NULL, nếu bạn không khai báo ký tự NULL (\0) ở cuối thì trình biên dịch sẽ tự động thêm vào. Đó là lý do vì sao Str2, Str4 lại có độ dài là 8 nhưng chỉ chứa một chuỗi 7 ký tự. Ký tự NULL này để làm gì? Nó dùng để trình biên dịch biết điểm dừng của một chuỗi! Nếu không nó sẽ đọc tiếp những phần bộ nhớ khác (mà phần ấy không lưu chuỗi)

Bạn có thể khai bảo một chuỗi dài như sau:

char myString[] = "This is the first line"
" this is the second line"
" etcetera"

Mảng chuỗi

Khi cần phải thao tác với một lượng lớn chuỗi (ví dụ như trong các ứng dụng trả lời người dùng bằng LCD) thì bạn cần sử dụng một mảng chuỗi. Mà bản chất của chuỗi là mảng các ký tự. Vì vậy để khai báo 1 mảng chuỗi bạn cần sử dụng một mảng 2 chiều!

Để khai báo một mảng chuỗi, rất đơn giản:

char* myStrings[] = {"I'm number 1", "I'm number 2"};

Chỉ cần thêm dấu * sau chữ char và trong dấu ngoặc vuông phía sau myStrings bạn có thể thiết đặt số lượng phần tử tối đa của mảng chuỗi!

Ví dụ

char* myStrings[]={"This is string 1", "This is string 2", "This is string 3",
"This is string 4", "This is string 5","This is string 6"};

void setup(){
Serial.begin(9600);
}

void loop(){
for (int i = 0; i < 6; i++){
   Serial.println(myStrings[i]);
   delay(500);
   }
}

 

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ả

Hướng dẫn đưa ứng dụng iNut node-red (webHMI) của iNut Platform lên server miễn phí Heroku

Sau khi đã có được demo chạy được cảm thấy ổn ở local (máy tính của bạn), bạn muốn đưa webapp của mình lên một server Internet để cho khách hàng xem hoặc chuyển giao cho khách hàng với giá rẻ nhất (gần như bằng 0) mà không cần phải NAT PORT thì tại máy tính của mình? Thì đây là cuốn sổ tay hướng dẫn chi tiết dành cho bạn. Đặc biệt, tất cả bài viết hướng dẫn, dự án mẫu liên quan đến node-red của iNut Platform đều có thể làm theo hướng dẫn sau này nhé!

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

Hướng dẫn làm webapp trong IoT cho iNut Platform bằng node-red-dashboard

Nghiệp làm app, viết code cho các dự án IoT đã từng là một rào cản rất lớn đối với tất cả mọi người. Nhưng từ nay, mọi thứ sẽ cực kỳ đơn giản với iNut Platform. Vi iNut Platform có hệ thống API rất tốt, dễ dàng tích hợp vào mọi dự án bằng cách lập trình kéo thả trên Internet rất là tiện lợi. Hãy cùng khám phá, bạn nhé.

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