Bài giảng Ngôn ngữ lập trình C - Chương 3: Mảng và con trỏ cung cấp cho người học các kiến thức: Mảng, con trỏ, liên hệ giữa mảng và con trỏ, cấp phát bộ nhớ động, xâu ký tự. Đây là một tài liệu hữu ích dành cho các bạn sinh viên ngành Công nghệ thông tin dùng làm tài liệu học tập và nghiên cứu.
Ngơn ngữ lập trình C Chương – Mảng trỏ 3.1 Mảng 3.2 Con trỏ 3.3 Liên hệ mảng trỏ 3.4 Cấp phát nhớ động 3.5 Xâu ký tự 3.1 Mảng Mảng tập hợp giá trị kiểu liệu Khai báo: ; Mỗi phần tử mảng lưu trữ giá trị Mỗi phần tử mảng coi biến Có kiểu biến có nhiêu kiểu mảng 3.1 Mảng Số chiều kích thước mảng Ví dụ khai báo: int a[10],b[4][2]; float x[5],y[3][3]; Khi ta có: Thứ tự Tên mảng Kiểu mảng Số chiều Kích thước a int 10 b int 4x2 x float y float 3x3 Các phần tử a[0],a[1],a[2] a[9] b[0][0], b[0][1] b[1][0], b[1][1] b[2][0], b[2][1] b[3][0], b[3][1] x[0],x[1],x[2] x[4] y[0][0], y[0][1], y[0][2] y[1][0], y[1][1], y[1][2] y[2][0], y[2][1], y[1][2] 3.1 Mảng Một số lưu ý Các phần tử mảng cấp phát khoảng nhớ liên tiếp nhớ Một phần tử cụ thể mảng xác định thơng qua tên mảng số Chỉ số mảng phải có kiểu ngun, khơng vượt kích thước mảng Chỉ số mảng Khi số vượt ngồi kích thước mảng, trình biên dịch biên dịch thành cơng, nhiên thực chương trình có lỗi Kích thước mảng phải số 3.1 Mảng Khởi tạo giá trị ban đầu cho biến mảng Để khởi tạo giá trị ban đầu cho biến mảng, ta sử dụng biểu thức câu lệnh gán Ví dụ: float x[6] = {3.2,0,5.1,23,0,42}; float y[6] = {3.2}; int z[3][2] = {{25,31},{12,13},{45,15}}; Khi khởi tạo giá trị ban đầu cho biến mảng, khơng cần kích thước mảng Ví dụ: float a[]={0,5.1,23,0,42}; int m[][3]={{25,31,4},{12,13,89},{45,15,22}}; 3.1 Mảng Một số thao tác mảng Duyệt Tìm mảng (nhập, xuất, tính tổng, ….) kiếm Tìm xem phần tử có thuộc mảng hay khơng? Tìm phần tử thỏa mãn tính chất … Sắp xếp (Mảng chiều) Sắp xếp giá trị phần tử mảng theo thứ tự tăng dần giảm dần Begin 3.1 Mảng Sơ đồ khối sau thể thuật tốn tìm kiếm nhị phân Hãy viết chương trình nhập N số thực (N nhập từ bàn phím) vào mảng array, nhập khóa key, tìm kiếm xem key có xuất dãy khơng, xuất vị trí nào? Low = 0; High = N-1; Flag = 0; Pos = Y Low