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ý.


4
Tại sao mọi người đánh máy trên các loại C tiêu chuẩn?
Nếu bạn muốn sử dụng Qt , bạn phải nắm lấy quint8, quint16v.v. Nếu bạn muốn sử dụng GLib , bạn phải chào đón guint8, guint16v.v. Trên Linux có u32, s16v.v. uC / OS định nghĩa SINT32, UINT16v.v. Và nếu bạn phải sử dụng một số kết hợp của những …
103 c++  c  stdint 

12
Tại sao các ký tự C là ints thay vì ký tự?
Trong C ++ sizeof('a') == sizeof(char) == 1,. Điều này có ý nghĩa trực quan, vì 'a'là một ký tự theo nghĩa đen, và sizeof(char) == 1như được định nghĩa bởi tiêu chuẩn. Tuy nhiên, trong C sizeof('a') == sizeof(int),. Có nghĩa là, có vẻ như các ký tự C …
103 c++  c  char  sizeof 

7
Dấu phẩy trong macro C / C ++
Giả sử chúng ta có một macro như thế này #define FOO(type,name) type name Cái mà chúng tôi có thể sử dụng như FOO(int, int_var); Nhưng không phải lúc nào cũng đơn giản như vậy: FOO(std::map<int, int>, map_var); // error: macro "FOO" passed 3 arguments, but takes just 2 Tất …
103 c++  c  macros  c-preprocessor 



3
Sự khác biệt giữa int32, int, int32_t, int8 và int8_t
Tôi đã xem qua kiểu dữ liệu int32_ttrong một chương trình C gần đây. Tôi biết rằng nó lưu trữ 32 bit, nhưng không intvà int32làm như vậy? Ngoài ra, tôi muốn sử dụng chartrong một chương trình. Tôi có thể sử dụng int8_tthay thế không? Sự khác biệt là …
103 c  int  declaration 

7
In các ký tự thập lục phân trong C
Tôi đang cố đọc một dòng ký tự, sau đó in ra ký tự tương đương hệ thập lục phân. Ví dụ: nếu tôi có một chuỗi "0xc0 0xc0 abc123", trong đó 2 ký tự đầu tiên c0ở dạng hex và các ký tự còn lại abc123ở dạng ASCII, thì …
103 c  hex  printf 

4
-D_XOPEN_SOURCE làm / nghĩa là gì?
Gần đây tôi đã gặp một số mã mà gcc sẽ không biên dịch nếu không có lập luận này. Tôi đã kiểm tra trang gcc man, nhưng không tìm thấy tùy chọn cụ thể này. Tôi đã tìm thấy XOPEN_SOURCE, nhưng có rất ít lời giải thích về những …
103 c  gcc 

2
&& nghĩa là gì trong void * p = && abc;
Tôi đã xem qua một đoạn mã void *p = &&abc;. Ý nghĩa của việc &&này là gì? Tôi biết về tham chiếu rvalue nhưng tôi nghĩ &&được sử dụng trong ngữ cảnh này là khác nhau. Điều gì &&chỉ ra trong void *p = &&abc;?
102 c++  c  gcc  operators 

10
"F" sau số
Làm gì fsau những con số cho thấy? Đây là từ C hay Objective-C? Có sự khác biệt nào khi không thêm số này vào một số không đổi? CGRect frame = CGRectMake(0.0f, 0.0f, 320.0f, 50.0f); Bạn có thể giải thích tại sao tôi không viết: CGRect frame = CGRectMake(0, …

7
Làm cho chương trình chạy chậm
Có cách nào để chạy chương trình C ++ chậm hơn bằng cách thay đổi bất kỳ thông số hệ điều hành nào trong Linux không? Bằng cách này, tôi muốn mô phỏng điều gì sẽ xảy ra nếu chương trình cụ thể đó chạy trên một máy thực sự …
102 c++  c  linux  unix  ubuntu 

6
Định nghĩa cấu trúc nên đi trong tệp .h hoặc .c?
Tôi đã xem cả định nghĩa đầy đủ của structs trong tiêu đề và chỉ khai báo — phương thức này có lợi thế nào hơn phương thức kia không? Nếu nó tạo ra sự khác biệt, tôi thường gõ một cấu trúc như vậy trong .h typedef struct s …
102 c  header  struct 

6
snprintf và Visual Studio 2010
Tôi thật không may khi bị mắc kẹt khi sử dụng VS 2010 cho một dự án và nhận thấy mã sau vẫn không được tạo bằng trình biên dịch tuân thủ không theo tiêu chuẩn: #include <stdio.h> #include <stdlib.h> int main (void) { char buffer[512]; snprintf(buffer, sizeof(buffer), "SomeString"); return …

11
Tại sao printf với một đối số duy nhất (không có chỉ định chuyển đổi) không được dùng nữa?
Trong một cuốn sách mà tôi đang đọc, nó được viết rằng printfvới một đối số duy nhất (không có chỉ định chuyển đổi) không được dùng nữa. Nó khuyên bạn nên thay thế printf("Hello World!"); với puts("Hello World!"); hoặc là printf("%s", "Hello World!"); Ai đó có thể cho tôi …

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.