1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Giới thiệu và nghiên cứu về mảng trong lập trình C

Chủ đề trong 'Đề thi - Đáp án' bởi FrankLee, 23/03/2016.

  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
  1. FrankLee

    FrankLee Thành viên mới

    Tham gia ngày:
    07/03/2016
    Bài viết:
    31
    Đã được thích:
    0
    GIỚI THIỆU KIỂU DỮ LIỆU “KIỂU MẢNG” TRONG C


    Mảng là một xếp hàng các phần tử nhất quyết có cùng một kiểu , làm gọi là kiểu phần tử. Kiểu phần tử có khả năng là có các kiểu bất kỳ: ký tự , số , chuỗi ký tự…; cũng có khi ta sử dụng kiểu mảng để làm mẫu phần tử cho một mảng ( trong trường hợp này ta làm gọi là mảng của mảng hay mảng nhiều chiều ).

    Ta có khả năng chia mảng làm 2 loại: mảng 1 chiều và mảng nhiều chiều.

    Mảng là kiểu dữ liệu được sử dụng rất thường xuyên. Chả hạn người ta cần quản lý một danh sách họ và tên của khoảng 100 sinh viên trong một lớp. Nhận thấy rằng mỗi họ và tên để lưu trữ ta cần 1 biến kiểu chuỗi , như vậy 100 họ và tên thì cần khai báo 100 biến kiểu chuỗi. Ví như khai báo như thế này thì đoạn khai báo cũng như các thao tác trên các họ tên sẽ rất dài dòng và rắc rối. Vì thế , kiểu dữ liệu mảng giúp ích xã hội ta trong trường hợp này; chỉ cần khai báo 1 biến , biến này có khả năng coi như là tương đương với 100 biến chuỗi ký tự; đó là 1 mảng mà các phần tử của nó là chuỗi ký tự. Hay như để lưu trữ các từ khóa của ngôn ngữ máy C , ta cũng dùng đến một mảng để lưu trữ chúng.

    MẢNG 1 CHIỀU
    Nếu xét dưới giác độ toán học , mảng 1 chiều giống như một vector. Mỗi phần tử của mảng một chiều có giá trị không phải là một mảng khác.
    Khai báo

    Khai báo mảng với số phần tử chính xác ( khai bích báo minh )
    Cú pháp:

    Ý nghĩa:

    - Tên mảng: đây là một cái tên đặt đúng theo quy tắc tam suất đặt tên của danh biểu. Tên này cũng mang tác phong là tên biến mảng.

    - Số phần tử: là một đối lập với biến số nguyên , cho biết số lượng phần tử tối đa trong mảng là bao lăm ( hay nói khác đi kích tấc của mảng là gì ).

    - Kiểu: mỗi phần tử của mảng có dữ liệu thuộc kiểu gì.

    - Ở đây , ta khai báo một biến mảng gồm có số phần phụ phần tử , phần tử thứ nhất là tên mảng [ 0 ] , phần tử sau chót là tên mảng [ số phần tử -1 ]

    Hình ảnh mảng a trong bộ nhớ
    Khai báo mảng với số phần tử không xác định ( khai báo không tường minh )

    Cú pháp:

    Khi khai báo , không cho biết rõ số phần tử của mảng , kiểu khai báo này thường được áp dụng trong các trường hợp: vừa khai báo vừa gán giá trị , khai báo mảng là thông số hình thức của hàm.

    a. Vừa khai báo vừa gán giá trị

    Cú pháp:

    []= Các giá trị cách nhau bởi dấu phẩy

    Nếu vừa khai báo vừa gán giá trị thì điềm nhiên C sẽ hiểu số phần tử của mảng là số giá trị mà chúng ta gán cho mảng trong cặp dấu . Chúng ta có khả năng sử dụng hàm sizeof( ) để lấy số phần tử của mảng như sau:

    Số phần tử= sizeof( tên mảng )/ sizeof( kiểu )

    b.Khai báo mảng là thông số hình thức của hàm , trong trường hợp này ta không cần chỉ định số phần tử của mảng là bao nhiêu.

    Truy xuất từng phần tử của mảng

    Mỗi phần tử của mảng được truy xuất phê chuẩn Tên biến mảng theo sau là chỉ số nằm trong cặp dấu ngoặc vuông [ ]. Chả hạn a[0] là phần tử đi hàng đầu của mảng a được khai báo ở trên. Chỉ số của phần tử mảng là một biểu thức mà giá trị là kiểu số nguyên.

    Với cách truy xuất theo kiểu này , Tên biến mảng[Chỉ số] có khả năng coi như là một biến có kiểu dữ liệu là kiểu được chỉ ra trong khai báo biến mảng.

    MẢNG NHIỀU CHIỀU
    Mảng nhiều chiều là mảng có từ 2 chiều trở lên. Điều đó có nghĩa là mỗi phần tử của mảng là một mảng khác.

    Người ta thường sử dụng mảng nhiều chiều để lưu các ma trận , các tọa độ 2 chiều , 3 chiều…

    Phần dưới đây là các vấn đề liên quan đến mảng 2 chiều; các mảng 3 , 4 , … chiều thì na ná ( chỉ cần bao hàm hóa lên ).

    Khai báo
    Khai báo mảng 2 chiều tường minh
    Cú pháp:



    Khai báo mảng 2 chiều không tường minh
    Để khai báo mảng 2 chiều không tường minh , ta vẫn phải chỉ ra số phần tử của chiều thứ hai ( chiều sau chót ).

    Cú pháp:

    Cách khai báo này cũng được áp dụng trong trường hợp vừa khai báo , vừa gán trị hay đặt mảng 2 chiều là thông số hình thức của hàm.

    Truy xuất từng phần tử của mảng 2 chiều

    Ta có khả năng truy xuất một phần tử của mảng hai chiều bằng cách viết ra tên mảng theo sau là hai chỉ số đặt trong hai cặp dấu ngoặc vuông. Chả hạn ta viết m[2][3].

    Với cách truy xuất theo cách này , Tên mảng[Chỉ số 1][Chỉ số 2] có khả năng coi là 1 biến có kiểu được chỉ ra trong khai báo biến mảng.

    Nguồn : http://laptrinhc.edu.vn/lap-trinh-c/bai-5-mang-trong-c-arrays.html

Chia sẻ trang này