The technical answer is that declarations also follow operator precede dịch - The technical answer is that declarations also follow operator precede Việt làm thế nào để nói

The technical answer is that declar

The technical answer is that declarations also follow operator precedence. The [] operator has higher precedence than the unary * operator, so for example int *p[N]; would be parsed as int (*(p[N]));, so that it means "p is, an array of N of, pointer to, int". The parentheses around the * in the second example is precisely to overcome the precedence of [].

A related and perhaps intuitive way to think about it is that declarations in C "look like" how they could be used. When you see int *p[N];, that means the expression *p[N] has type int. So what does that mean? *p[N] means (with operator precedence, of course) p, indexed to N, and then dereferenced, and this results in an int. That means p must be an array of pointers to int. Whereas int (*p)[N]; means p, dereferenced, and then indexed, has type int, so that means p must be a pointer to an array of int. This is especially useful in cases of function pointers, e.g. int (*f)(char); means that f, dereferenced, and then applied to a char, results in an int, which means f is a pointer to a function that takes a char and returns an int.
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Câu trả lời kỹ thuật là tờ khai cũng theo ưu tiên điều khiển. Toán tử [] có được ưu tiên cao hơn unary * nhà điều hành, vì vậy, ví dụ: int * p [N]; sẽ được phân tích cú pháp như int (* (p[N])); do đó nó có nghĩa là "p là một mảng của N của, con trỏ đến, int". Các dấu ngoặc quanh các * thứ hai ví dụ là chính xác để vượt qua các ưu tiên của [].Có liên quan và trực quan có lẽ là một cách để suy nghĩ về nó là tuyên bố trong "nhìn giống như" làm thế nào họ có thể được sử dụng. Khi bạn nhìn thấy int * p [N]; đó có nghĩa là sự biểu hiện * p [N] có kiểu int. Như vậy có nghĩa là gì? * p [N] có nghĩa là (với nhà điều hành được ưu tiên, dĩ nhiên) p, lập chỉ mục đến N, và sau đó dereferenced, và kết quả này trong một int. Đó có nghĩa là p phải là một mảng của các con trỏ đến int. trong khi int (* p) [N]; có nghĩa là p, dereferenced, và sau đó được lập chỉ mục, có kiểu int, do đó có nghĩa là p phải là một con trỏ chỉ tới một mảng int. Điều này đặc biệt hữu ích trong trường hợp của con trỏ chức năng, ví dụ: int (* f)(char); có nghĩa rằng f, dereferenced, và sau đó áp dụng cho một char, kết quả trong một int, có nghĩa là f là một con trỏ đến một chức năng mà phải mất một char và trả về một int.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Câu trả lời kỹ thuật là tờ khai cũng theo điều hành được ưu tiên. Các toán tử [] có độ ưu tiên cao hơn so với các nhà điều hành * unary, cho ví dụ int * p [N]; sẽ được phân tích như int (* (p [N])) ;, để nó có nghĩa là "p là, một mảng của N, con trỏ tới, int". Các dấu ngoặc xung quanh * trong ví dụ thứ hai là chính xác để vượt qua những ưu tiên của []. Một cách có liên quan và có thể trực quan để suy nghĩ về nó là khai báo trong C "giống như" làm thế nào họ có thể được sử dụng. Khi bạn nhìn thấy int * p [N] ;, đó có nghĩa là các biểu thức * p [N] có kiểu int. Vậy điều đó có nghĩa là gì? * p [N] phương tiện (với điều hành ưu tiên, tất nhiên) p, lập chỉ mục để tồn tại, và sau đó dereferenced, và kết quả này trong một int. Điều đó có nghĩa p phải là một mảng của con trỏ đến int. Trong khi đó, int (* p) [N]; có nghĩa là p, dereferenced, và sau đó được lập chỉ mục, đã gõ int, do đó có nghĩa p phải là một con trỏ đến một mảng int. Điều này đặc biệt hữu ích trong trường hợp con trỏ chức năng, ví dụ: int (* f) (char); có nghĩa là f, dereferenced, và sau đó áp dụng cho một char, kết quả trong một int, có nghĩa là f là một con trỏ đến một chức năng mà phải mất một char và trả về một int.

đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2024 I Love Translation. All reserved.

E-mail: