1,
2,
3,指针作为返回值
#include<stdio.h>
int *smaller (int *p1,int *p2);
int main(void){
int a;
int b;
int *p;
scanf("%d%d",&a,&b);
p = smaller (&a,&b);
printf("*p = %d",*p);
return 0;
}
int *smaller (int *px,int *py)
{
return( *px<*py?px:py);
}
//error
//return local pointers: a serious error,take care!
//never return a pointer to a local variable;compare to errors in oc!
float *mistake(){
float temp = 12; //Circle c;return &c;
return &temp;
}
int main()
{
float *p = mistake();
printf("%f\n",*p);//you never know when the system release the tmep or it release after runtime./so we command that never return a point to a local variable;
return;
}
//Points to space on stack that isn't used!
pointers to pointers