IT <code> - Tag c [Câu hỏi]

78
hữu ích
7trả lời
377k xem

Nhận thời gian hiện tại trong C?

Tôi muốn có được thời gian hiện tại của hệ thống của tôi. Cho rằng tôi đang sử dụng đoạn mã sau trong C: time_t now; struct tm *mytime = localtime(&now); if ( strftime(buffer, sizeof buffer, "%X", mytime) ) {…
70
hữu ích
5trả lời
99k xem

Trong C, một câu lệnh printf dài có thể được chia thành nhiều dòng không?

Tôi có tuyên bố sau: printf("name: %s\targs: %s\tvalue %d\tarraysize %d\n", sp->name, sp->args, sp->value, sp->arraysize); Tôi muốn phá vỡ nó. Tôi đã thử cách sau nhưng không được. printf("name:…
329
hữu ích
7trả lời
41k xem

Tại sao thứ tự của các vòng lặp ảnh hưởng đến hiệu suất khi lặp qua một mảng 2D?

Dưới đây là hai chương trình gần như giống hệt nhau ngoại trừ việc tôi đã chuyển đổi ivà jcác biến xung quanh. Cả hai đều chạy trong những khoảng thời gian khác nhau. Ai đó có thể giải thích tại sao điều này xảy ra? Phiên…
810
hữu ích
20trả lời
1.5m xem

Làm cách nào để xác định kích thước của mảng trong C?

Làm cách nào để xác định kích thước của mảng trong C? Đó là, số phần tử mà mảng có thể giữ?
739
hữu ích
20trả lời
846k xem

Sự khác biệt giữa ++ i và i ++ là gì?

Trong C, sự khác biệt giữa việc sử dụng ++ivà i++nên được sử dụng trong khối tăng của một forvòng lặp là gì?
471
hữu ích
11trả lời
321k xem

Sự khác biệt giữa char s [] và char * s là gì?

Trong C, người ta có thể sử dụng một chuỗi ký tự trong một khai báo như thế này: char s[] = "hello"; hoặc như thế này: char *s = "hello"; Vì vậy, sự khác biệt là gì? Tôi muốn biết những gì thực sự xảy ra về thời…
81
hữu ích
5trả lời
166k xem

Tổng kiểm tra CRC32 được tính như thế nào?

Có thể tôi chỉ không nhìn thấy nó, nhưng CRC32 dường như không cần phức tạp hoặc giải thích không đầy đủ ở bất cứ đâu tôi có thể tìm thấy trên web. Tôi hiểu rằng đó là phần còn lại từ phân chia số học không mang theo giá…
269
hữu ích
11trả lời
264k xem

Sự khác biệt giữa NULL, '\ 0' và 0 là gì?

Trong C, có vẻ như là sự khác biệt giữa các giá trị khác nhau của zero - NULL, NULvà 0. Tôi biết rằng các ký tự ASCII '0'để đánh giá 48hay 0x30. Con NULLtrỏ thường được định nghĩa là: #define NULL 0 Hoặc…
81
hữu ích
3trả lời
53k xem

Ý nghĩa của ios_base :: sync_with_stdio (sai); cin.tie (NULL);?

Tầm quan trọng của việc bao gồm ios_base::sync_with_stdio(false); cin.tie(NULL); trong chương trình C ++? Trong các thử nghiệm của tôi, nó tăng tốc thời gian thực hiện, nhưng có trường hợp thử nghiệm nào tôi nên lo…
262
hữu ích
17trả lời
25k xem

Lý do cho các chuỗi kết thúc null là gì?

Tôi yêu C và C ++ nhiều như vậy, tôi không thể không gãi đầu khi lựa chọn các chuỗi kết thúc null: Các chuỗi có tiền tố (ví dụ Pascal) tồn tại trước C Các chuỗi tiền tố có độ dài làm cho một số thuật toán nhanh hơn bằng…
156
hữu ích
2trả lời
92k xem

Làm cách nào tôi có thể chuyển đổi một con trỏ tệp (FILE * fp) thành một mô tả tệp (int fd)?

Tôi có một FILE *, trả lại bởi một cuộc gọi đến fopen(). Tôi cần lấy một bộ mô tả tập tin từ nó, để thực hiện các cuộc gọi như fsync(fd)trên nó. Chức năng để có được một mô tả tập tin từ một con trỏ tập tin là gì?…
156
hữu ích
3trả lời
8.7k xem

Tại sao thích bắt đầu + (kết thúc - bắt đầu) / 2 hơn (bắt đầu + kết thúc) / 2 khi tính giữa của một mảng?

Tôi đã thấy các lập trình viên sử dụng công thức mid = start + (end - start) / 2 thay vì sử dụng công thức đơn giản hơn mid = (start + end) / 2 để tìm phần tử ở giữa trong mảng hoặc danh sách. Tại sao họ sử dụng…
137
hữu ích
5trả lời
101k xem

Là __attribution __ ((đóng gói)) / #pragma của gcc có an toàn không?

Trong C, trình biên dịch sẽ bố trí các thành viên của một cấu trúc theo thứ tự mà chúng được khai báo, với các byte đệm có thể được chèn giữa các thành viên hoặc sau thành viên cuối cùng, để đảm bảo rằng mỗi thành viên được…
148
hữu ích
5trả lời
19k xem

Tại sao mã này dễ bị tấn công tràn bộ đệm?

int func(char* str) { char buffer[100]; unsigned short len = strlen(str); if(len >= 100) { return (-1); } strncpy(buffer,str,strlen(str)); return 0; } Mã này dễ bị tấn công tràn…
2094
hữu ích
9trả lời
225k xem

Tại sao các phần tử bổ sung nhanh hơn nhiều trong các vòng lặp riêng biệt hơn trong một vòng lặp kết hợp?

Giả sử a1, b1, c1, và d1điểm đến đống bộ nhớ và mã số của tôi có vòng lặp cốt lõi sau đây. const int n = 100000; for (int j = 0; j < n; j++) { a1[j] += b1[j]; c1[j] += d1[j]; } Vòng lặp này được thực…

15 30 50 mỗi trang