PDA

View Full Version : مبتدی: اشاره گر



localhostnet
سه شنبه 07 بهمن 1393, 14:46 عصر
سلام
کد زیر با تخصیص حافظه پویا مقداری را در آن قرار می دهد.

int *x;
x = (int *) malloc(sizeof(int));
printf("\n enter X:");
scanf("%d", x);


چرا با دستور زیر نمیتوان مقدار داد؟

scanf("%d", *x);


:تشویق:

mehran34
سه شنبه 07 بهمن 1393, 17:39 عصر
باید
scanf("%d", &x);

mehran34
سه شنبه 07 بهمن 1393, 21:32 عصر
بهتر بخواهم توضیح بدم شما دقیقا باید اونو بریزید توی آدرس خونش که توسط سیستم عامل و کامپایلر براش معین شده و اون هم که اول نوشتید تقریبا همین کارو میکنه ولی دومی کاملا غیر منطقی هستش :لبخند: