1: int s1,*s;s=&s1;指的是定义了int形的指针,指针指向s1的内存地址,所以*s的值为s1的内存地址中的值
int s1, *s=&s1;指的是将s1的内存地址中的值取出,赋给*s,*和&其实互为逆操作;
所以两者的最终值是一样的,但是我个人建议选int s1,*s;s=&s1;这种定义方式,逻辑清晰;
2:int main() void main()其实是C89和C99中不同的main函数定义的标准不同而已,void main()要求无返回值,但在C99标准中要求main可以有返回值,这时int main()
返回类型为int形。main()常在嵌入式操作编程中遇到(至少我老遇到),编译器会默认main()会有返回值,并且返回类型为int
3:个人认为没区别或者区别不大,其实返回1或者0只是逻辑1和逻辑0,在C中没有bool这个数据类型,只能用宏定义TRUE和FALSE,这时用1代表TRUE,用0代表FALSE