Chuỗi kí tự

Một phần của tài liệu GIÁO TRÌNH NGÔN NGỮ LẬP TRÌNH C ĐẠI CƯƠNG (Trang 81)

5.6.1 Chuỗi kí tự

Trong ngôn ngữ lập trình C không có kiểu dữ liệu chuỗi mà chuỗi trong C là một dãy các kí tự kiểu char. Một chuỗi trong C được đánh dấu kết thúc là ‘\0’ (còn gọi là NULL trong bảng mã Ascii) và có độ dài tùy ý, điều này cũng có nghĩa chuỗi ký tự trong C là một mảng các ký tự char.

Chúng ta có thể gán một chuỗi cho một biến pointer chỉ đến char

Ví d 5.30:

char str[20]= “ \nHappy New Year”

Không thể cộng, trừ, nhân, chia 2 chuỗi kí tự lại bằng phép toán đơn thuần. Tất cả những điều đó phải được làm bằng các hàm riêng lẽ. Ta có thể gán một chuỗi này bằng một chuỗi khác (strcpy), so sánh 2 chuỗi kí tự với nhau theo thứ tự từ điển (strcmp), cộng 2 chuỗi với nhau (strcat),...

81

Mọi hằng chuỗi đều được ngôn ngữ lập trình C lưu trữ như là một mảng các

char và kết thúc bằng kí tự ‘\0’. Hơn nữa, một chuỗi trong chương trình chúng ta

chỉ nhận được địa chỉ và chỉ đến đầu mảng lưu trữ. Việc truy xuất đến một hằng chuỗi đều được thực hiện qua một pointer chỉ đến mảng đó.

Ví d 5.31: printf(“Happy new year\n”);

thì hàm printf() thực sự cũng chỉ ghi nhận được pointer chỉ đến mảng kí tự này đang lưu trữ đến một chỗ nào đó mà thôi. Vì vậy, chúng ta có thể gán một hằng chuỗi cho một biến pointer chỉ đến char.

Ví d 5.32:

char*str;

str = “Happy new year \n”;

Lúc này, ta đã đưa pointer str giữ địa chỉ của chuỗi kí tự này. Ta có thể quy định rằng một mảng kí tự tận cùng bằng kí tự ‘\0’ được gọi là một chuỗi.

Một phần của tài liệu GIÁO TRÌNH NGÔN NGỮ LẬP TRÌNH C ĐẠI CƯƠNG (Trang 81)