#include <stdio.h>
int main()
{
int a = 2, *p;
p = &a;
//*p = a;
//p = a;
*p += a++;
printf("%d %d", *p, a);
return 0;
}
Em hiểu như thế này:
*int p; // là khai bái con trỏ p chưa khởi tạo nên p trỏ về 0 (là NULL)
p = &a; //quá rõ ràng không phải bàn nữa
Nhưng thay p = &a; là *p = a; thì compiler vẫn thực thi nhưng dính lỗi has stopped working (em biết gán như thế là lỗi nhưng em không giải thích được tại sao )
Còn thay p = &a; là p = a; //compiler báo lỗi, theo em nghĩa p chứa địa chỉ nên không thế gán = giá trị được
mọi người giải thích giúp em những vấn đề trên. Xin cảm ơn! 

vùng nhớ này đã được cấp phát và sử dụng hay sao nhỉ?
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?