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

c - "gán từ loại con trỏ không tương thích [được bật theo mặc định]"?

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 03:41:35 hai mươi bốn 4
mua khóa gpt4 Nike

Tôi mới làm quen với C và tôi đang cố gắng viết một hàm chèn một nút vào đầu danh sách bằng hai cấu trúc sau:

typedef cấu trúc singly_linked_list_node {
dữ liệu char *;
cấu trúc singly_linked_list_node *next;
} nút;

typedef cấu trúc singly_linked_list_head {
nút cấu trúc *đầu tiên;
nút cấu trúc *cuối cùng;
kích thước int;
} danh sách tội lỗi;

chức năng của tôi là

void Insert_at_start(danh sách sin_list*, char *str)
{
chiều dài int;
nút *newnode;
newnode = malloc(sizeof(node));
chiều dài = strlen(str) + 1;
newnode->data = malloc(sizeof(length));
strcpy(newnode->data, str);
newnode->next = list->first;
danh sách->đầu tiên = nút mới;
if (list->last == NULL) list->last = newnode;
}

Khi tôi biên dịch, tôi nhận được cảnh báo "Gán từ loại con trỏ không tương thích [được bật theo mặc định]" trên 3 dòng cuối cùng, vì vậy rõ ràng là tôi đang thiếu thứ gì đó.

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

通过 cấu trúc singly_linked_list_head định nghĩa, bạn có thể định nghĩa struct Loại này sử dụng hai khai báo chuyển tiếp ngầm định. đây là

nút cấu trúc *đầu tiên;
nút cấu trúc *cuối cùng;

Ngoài ra, bạn có nút định nghĩa kiểu. nút cấu trúc Kiểu này không bao giờ giải quyết được, nhưng trình biên dịch chấp nhận nó miễn là bạn chỉ sử dụng một con trỏ tới nó. hiện hữu C Trong ngôn ngữ, có hai không gian tên khác nhau cho tên cấu trúc và định nghĩa kiểu.

通过sử dụngTypedef của bạn sửa mã của bạn:

typedef cấu trúc singly_linked_list_head {
nút * đầu tiên;
nút *cuối cùng;
kích thước int;
} danh sách tội lỗi;

BIÊN TẬP Khi bạn cấp phát bộ nhớ, bạn nên sử dụng str chiều dài thay vì một biến chiều dài kích thước để phân bổ bộ nhớdữ liệu:

chiều dài = strlen(str) + 1;
newnode->data = malloc(sizeof(length));

Thay đổi thành:

chiều dài = strlen(str) + 1;
newnode->data = malloc(length);

Về c - "gán từ loại con trỏ không tương thích [được bật theo mặc định]"? , 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/27999811/

hai mươi bốn 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