Câu hỏi được gắn thẻ «c»

C là ngôn ngữ lập trình đa dụng được sử dụng cho lập trình hệ thống (HĐH và nhúng), thư viện, trò chơi và đa nền tảng. Thẻ này nên được sử dụng với các câu hỏi chung liên quan đến ngôn ngữ C, như được định nghĩa trong tiêu chuẩn ISO 9899 (phiên bản mới nhất, 9899: 2018, trừ khi có quy định khác - cũng yêu cầu phiên bản cụ thể của thẻ với c89, c99, c11, v.v.). C khác với C ++ và không nên kết hợp với thẻ C ++ mà không có lý do hợp lý.


11
Tại sao strncpy không null chấm dứt?
strncpy()được cho là bảo vệ khỏi sự cố tràn bộ đệm. Nhưng nếu nó ngăn tràn mà không kết thúc null, thì rất có thể một hoạt động chuỗi tiếp theo sẽ bị tràn. Vì vậy, để bảo vệ khỏi điều này, tôi thấy mình phải: strncpy( dest, src, LEN …
76 c  strncpy 









4
Sự cần thiết của dấu ngoặc rỗng '{}' ở cuối chuỗi cấu trúc là gì?
Tôi nhấn một số mã c trong nhân Linux: static struct ctl_table ip_ct_sysctl_table[] = { { .procname = "ip_conntrack_max", .maxlen = sizeof(int), .mode = 0644, .proc_handler = proc_dointvec, }, // ... { .procname = "ip_conntrack_log_invalid", .maxlen = sizeof(unsigned int), .mode = 0644, .proc_handler = proc_dointvec_minmax, .extra1 = &log_invalid_proto_min, .extra2 = …

4
Không ((void (*) ()) buf) (); nghĩa là?
Tôi đang giải quyết một thách thức khai thác nhị phân trên picoCTF và tình cờ thấy đoạn mã này: ((void (*)())buf)(); trong đó buflà một mảng ký tự. Tôi đã giải quyết thử thách nhưng dường như không thể hiểu chính xác nó đang làm gì. Tôi đã xem …




Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.