思路:
从(0,0)开始顺时针给数组元素赋值,每循环完一圈进入下一个内圈(!!!!
注意:每圈之间的每行(列)元素相差2个 !!!)
在while循环中通过判断当前位置来进行上下左右移动
但请注意,该while循环无法对(当该圈元素数量为一时进行正确的赋值)
缺乏经验时,对于较复杂的情况不要凭借直觉进行判断
而要在纸上经行细腻的推演,计算好每一个数
共用体所有成员在同一地址上,对一共用体赋值只能给一个成员赋值
结构体所有成员有各自的地址,对一结构体赋值可以给多个成员赋值
结构体和共用体的区别在于:结构体的各个成员会占用不同的内存,互相之间没有影响;而共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员。
结构体占用的内存大于等于所有成员占用的内存的总和(成员之间可能会存在缝隙),共用体占用的内存等于最长的成员占用的内存。共用体使用了内存覆盖技术,同一时刻只能保存一个成员的值,如果对新的成员赋值,就会把原来成员的值覆盖掉。
const 在*p前,则char变量不可修改
const 在* 和 p 之间,则指针变量不可修改
所以const char *p与char const* p一样,char变量不可修改,指针可修改
char* const p char变量可以修改,指针不可修改
const char*const p char变量与指针变量都不可修改
c语言中,用小括号将多个数据元素括住(各个元素用逗号分开)只会返回最后一个元素。