Sau khi kết thúc chương trình tại sao a=9 vậy?

void main()
{
    int a=2;
    int b=7;
    int *c, *d;
    c = &a;
    d=c;
    *d = a+b;
}

d đươc khai báo như một con trỏ và được gán d = c = &a nghĩa là con trỏ d được gán bằng địa chỉ của biến a. *d = a+b = 2 + 7 = 9 sẽ cập nhật giá trị của vùng nhớ &a thành 9 cũng đồng nghĩa với cập nhật giá trị của a = 9. Lệnh cuối tương đương với a = a+b;

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?