PDA

View Full Version : مبتدی: یک سوال ساده در مورد زبان c



mhzarei76
پنج شنبه 19 آذر 1394, 15:31 عصر
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main(){
int *x,*y,s;
x=(int *) malloc(sizeof(int));
if(!x){
printf ("\n allocation failure.");
exit(1);
}
y=(int *) malloc (sizeof (int));
if(!y){
printf ("\n allocation failure.");
exit(1);
}
printf ("please enter the two integers :");
scanf ("%d %d",x,y);
s=*x**x+*y**y;
printf ("\n sum of square is : %d",s);
free(x);
free(y);
getch();
}



با سلام وخسته نباشید در این کد منظور شرطش رو نمی فهمم یعنی منطور از کد زیر چیه مخصوصا شرط if لطفا توضیح دهید با تشکر
if(!x){ printf ("\n allocation failure.");
exit(1);
}

negative60
پنج شنبه 19 آذر 1394, 19:31 عصر
زمانی‌ که تابع malloc به دلایلی نتونه حافظه درخواستی رو فراهم کنه مقدار NULL بر میگردونه
شرط به این معنی است که اگر x صحیح نبود (if X is not true) , که معادل (if(x == NULL هست