30/09/2018, 16:02
Poll: Kiểm tra kiến thức C - 1.17
Các bạn thảo luận đáp án nhé, bài test lấy từ http://www.indiabix.com/online-test/c-programming-test/11
17.What is the output of the program?
typedef struct data;
{
int x;
sdata *b;
}sdata;
- A. Error: Declaration missing ‘;’
- B. Error: in typedef
- C. No error
- D. None of above
Bài liên quan
Đáp án là C: viết như này tương đương với
Đúng không anh @ltd
Viết như vậy lỗi đó, em đọc thêm
struct
vàtypedef struct
trong C. C++ khác với C chỗ này.C++ không cần sử dụng tag
struct
. C cần.Ví dụ:
C
C++
Vậy là nhớ sai à anh =)). 2 năm rồi không đụng đến code C :-s.
Còn cái này thì sao vậy anh, mơ hồ quá nhỉ @@
Viết kiểu này báo lỗi chứ, sdata là con trỏ kiểu data rồi. Sao mà khai báo
sdata *b;
được nữa?à, em viết lại cái đề bài thôi. Anh xem bài này chọn gì?
Bài này chọn C, em viết cái đề bài sai rồi. Đề bài có chữ
typedef
còn ví dụ của em không cótypedef
.Khi có
typedef
thì có nghĩa là bây giờsdata
tương đương vớistruct data
Vâng, em viết sai mà check đáp án C nên em không hiểu. Em biết em viết sai nên sửa lại rồi ^^