第一道题:"="的优先级比后缀的"--"高,因此会先进行赋值运算再进行自减运算~~~,你可以将y=(*++p)--;看做是d=*++p;y=d--;这样你就比较理解它的运算顺序了。第二道题:alloc函数返回的是一个内存指针,(struct sl)表示的是强制类型转换为s1结构类型的普通变量,普通变量跟指针变量明显就不匹配了;而(struct sl *)表示 展开
第一道题:"="的优先级比后缀的"--"高,因此会先进行赋值运算再进行自减运算~~~,你可以将y=(*++p)--;看做是d=*++p;y=d--;这样你就比较理解它的运算顺序了。第二道题:alloc函数返回的是一个内存指针,(struct sl)表示的是强制类型转换为s1结构类型的普通变量,普通变量跟指针变量明显就不匹配了;而(struct sl *)表示的是强制类型转换为s1结构类型的指针变量,刚好与alloc函数的返回值类型相关。第三道题:在C或者C++中,强制类型转换的格式要求是:(类型名)表达式再结合题干要求,答案就不难看出来了 收起