Có thể sử dụng các con trỏ và phôi để chỉ một mảng đa chiều như thể nó là một mảng một chiều. Điều này có thể được mong muốn vì lý do hiệu quả. Nó phải được lưu giữ trong tâm trí rằng mảng trong C được lưu trữ theo thứ tự hàng-lớn.
Ví dụ
Đoạn mã sau thiết lập một ma trận một sắc ma trận đường chéo có các phần tử là 1 và có các yếu tố khác là zero. Phương pháp này là khó khăn, nhưng nhanh chóng. Nó xử lý các ma trận hai chiều như thể nó là một vector một chiều với cùng một số yếu tố, trong đó sim¬plifies subscripting và loại bỏ sự cần thiết cho vòng lồng nhau.
«xác định SIZE 10
đôi ma trận [SIZE] [SIZE];
int i;
for (i ■ 0; i <SIZE * SIZE; i ++) ((double *) ma trận) [i] = 0,0; for (i = 0; i <SIZE * SIZE; i + <= ((double *) ma trận) [i] = 1,0;
Tài liệu tham khảo bổ sung điều hành + 7.6.2; mảng loại 5,4; dấu các biểu thức 7.10; điều hành gián tiếp * 7.5. 7; loại tách rời 5.1; 7.1 vế trái; các loại con trỏ 5.3
7.4.2 Component Selection
nhà khai thác lựa chọn thành phần được sử dụng để truy cập các lĩnh vực (thành phần) của cấu trúc và công đoàn các loại:
thành phần lựa chọn thể hiện: trực tiếp thành phần lựa chọn gián tiếp thành phần lựa chọn
trực tiếp thành phần lựa chọn:
. postfix-biểu hiện nhận dạng
gián tiếp thành phần lựa chọn:
postfix-biểu -> nhận dạng
một biểu thức lựa chọn thành phần trực tiếp bao gồm một biểu thức postfix, một khoảng thời gian, và định Biểu thức postfix phải có một (.). cấu trúc hoặc loại công đoàn, và các định danh phải là tên của một thành phần của loại đó, Kết quả của expres¬sion lựa chọn là thành viên có tên trong cơ cấu hoặc công đoàn.
Kết quả của biểu thức lựa chọn thành phần trực tiếp là một giá trị trái nếu cơ cấu hoặc công đoàn biểu thức là một giá trị trái. (Chỉ có cấu trúc và công đoàn các giá trị mà không phải là giá trị trái là những người được trả về bởi một hàm.) Kết quả là thay đổi được nếu nó là một giá trị trái và nếu các thành phần select¬ed không phải là một mảng.
đang được dịch, vui lòng đợi..
![](//viimg.ilovetranslation.com/pic/loading_3.gif?v=b9814dd30c1d7c59_8619)