Khai báo mảng (tiếp) Khai báo và khởi tạo giá trị các phần tử, số phần tử ₫ược tự ₫ộng xác ₫ịnh int double double char a[]= b[]= c[]= s[]= {1, 2, 3, 4, 5}; {1, 2, 3}; {0}; {‘a’}; | Khai báo mảng tiếp Khai báo và khỏi tạo giá trị các phần tử số phần tử được tự động xác định int a 1 2 3 4 5 double b 1 2 3 double c 0 char s a Khai báo mảng nhiều chiều double M 2 3 int X 2 1 2 3 4 5 6 short T 2 2 1 2 3 4 5 6 Chương 2 Các yếu tố cơ bản của C và C Ví dụ sử dụng kiểu mảng void main int a 5 a has 5 elements with uncertain values int b 5 1 3 5 7 9 5 elements with initial values double c error unspecified size double x y double d x y 3 elements with initial values short n 10 double v n const int m 10 double v2 m error array size must be a C OK C OK constant a 0 1 int i 1 a i 2 a 5 6 no compile error but fatal error int k a 5 no compile error but fatal error a 1 2 3 4 5 error a b error cannot assign array int M 2 3 M 0 1 0 M 0 2 1 Chương 2 Các yếu tố cơ bản của C và C 3 Mảng đặc biệt Chuôi ký J_. Variables t canM mainũ T Trong C C chuỗi ký tự không phải là kiểu cơ bản mà thực chất là một mảng Phân biệt chuỗi ký tự thường và chuỗi ký tự kết 0 char city1 H A N char city2 wchar_t city3 city2 HANOI HA NOI L HÀ NOI error Đa số các hàm trong thư viện C làm việc với chuỗi ký tự kết 0 Với C chuỗi ký tự được định nghĩa bằng lớp string trong thư viện chuẩn không sử dụng byte kết 0 N ame Value E 3 City3 0x0012ff60 0 72 1 1 92 2 32 3 78 4 79 5 73 r - 0 E 3city2 1 0x0012ff70 HA NOI 0 72 H LU 65 A 2 32 1 1 3 78 N 4 79 0 5 73 1 I 1 6 0 1 1 cityl 0x0012ff78 HAN OIÌÌÀỷD 0 72 H LU 65 A 2 78 N 3 32 1 1 4 79 0 5 73 I Chương 2 Các yếu tố cơ bản của C và C