01/10/2018, 08:40

Có 1 phần về con trỏ mà mình chưa hiểu. mong mọi ng giải đáp giúp

ai giải thích giúp mình ý nghĩa của 2 câu lệnh sau. int *a1=&x ; int **a2=&a1. và cho mình hỏi thêm nữa là int *a1=&x nó có giống với int *a1; a1=&x không? mình cảm ơn

linktosthing viết 10:43 ngày 01/10/2018

Biến x kiểu int chiếm 2 bytes trên bộ nhớ, sau lệnh

int *a1 = &x

thì a1 cơ bản chứa 2 giá trị là: địa chỉ biến x và “2”. a1 đuợc gọi là pointer, dùng pointer để thao tác trên bộ nhớ.

int *a1=&x nó có giống với int *a1; a1=&x không?

giống nhau,

int *a1=&x

có vẻ mâu thuẫn theo suy nghĩ logic.
Nhưng đây là cách viết gọn lại thay vì viết 2 dòng. Miễn là trình biên dịch hiểu đúng là đuợc rồi.

còn int **a2=&a1 liên quan đến cấu trúc dữ liệu như array…

angelfight viết 10:42 ngày 01/10/2018

ukm. thank bạn. mk cũng nghĩ như z nhưng ko chắc chắn nên phải hỏi lại

Bài liên quan
0