cuốn sách gpt4 ai đã làm

Ngôn ngữ C và hàng đợi/danh sách liên kết

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 04:34:18 28 4
mua khóa gpt4 Nike

Ai đó có thể giải thích mã dưới đây? Tôi mới làm quen với C và đang cố gắng tìm ra nó. Tại sao chúng ta lại có queueNodeT ở cuối?

typedef char queueElementT;

cấu trúc typedef hàng đợiNodeTag {
phần tử queueElementT;
cấu trúc hàng đợiNodeTag *next;
} queueNodeT;

câu trả lời hay nhất

queueNodeT là tên của loại mà câu lệnh typedef đang cố gắng tạo.

Một cách khác để chỉ định là:

cấu trúc hàng đợiNodeTag {
...
};
typedef cấu trúc hàng đợiNodeTag hàng đợiNodeT;

Trong C (ngược lại với C++), "struct queueNodeTag" chỉ định nghĩa một cấu trúc có tên là "queueNodeTag". Trong C++ [bạn nên biết], điều này cũng sẽ xác định một loại gọi là "queueNodeTag"

Khi tạo một biến con trỏ tới một cấu trúc, cách sử dụng sẽ ngắn hơn một chút:

queueNodeT *my_pointer;

So sánh:

cấu trúc hàng đợiNodeTag *my_pointer;

Dấu "T" chỉ là quy ước mã hóa để chỉ ra rằng đó là tên loại chứ không phải biến. Bạn có thể sử dụng những người khác. Của tôi là:

cấu trúc mystructname {
...
};
typedef struct mystructname mystructname_t;
typedef mystructname_t *mystructname_p;

Sử dụng mystructname_p bạn có thể thay đổi:

struct mystructname *my_pointer;
mystructname_t *my_pointer;

进入:

mystructname_p my_pointer;

"_t" khá phổ biến. "_p" là quy ước của tôi, tuy nhiên, tôi tin rằng các quy ước khác định nghĩa con trỏ tới các loại là "p ”, ví dụ: “pMystructName”, tôi thích sử dụng ký hiệu hậu tố [và “rắn” cho ký hiệu này thay vì ký hiệu “camelcase” trong ví dụ của bạn].

Về ngôn ngữ C và hàng đợi/danh sách liên kết, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/32812942/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress