调用函数时若是简单的变量的值的传递,则为单向的值传递。若是想进行地址传递,需要将参数接收改为指针类型。并且函数调用中发生的数据传递是单向的,只能把实参的值传递给形参,而不能把形参的值反向地传递给实参;换句话说,一旦完成数据的传递,实参和形参就再也没有瓜葛了,所以,在函数调用过程中,形参的值发生改变并不会影响实参。
这道题要明晰转义字符都有哪些,常见转义字符如下
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\\ 反斜杠 092
\? 问号字符 063
\' 单引号字符 039
\" 双引号字符 034
\0 空字符(NULL) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制
要在双向链表前插入一个新节点,那便让这个节点的next指向所插入的节点,而由于它是双向链表,因此他的prior便指向之前的节点所指向的prior。
字符串有\0,而数组没有,因此x的长度大于y
X为二维数组,从a选项分析,X【ii】为行,也就是类似一个一维数组的数组名,因此其加上i并取值就是二维数组的值。b选项中X+ii在取值,实际上就是一维数组的地址,在加上i再次取值就是二维数组的值。因此c选项便不正确。而d选项的表达是有问题的,X+ii在取值是对应一维数组的地址,在后面【i】是错误的表达。
注意:此题中的(,)为逗号运算符,其最终结果为逗号后的值,因此该数组运算完之后为:a[3][2]={1,3,5}。取第一个数便是1
结构体与共用体的区别如上图解释。
本题中的p就代表着结构体数组std,给std取值便是数组的首元素std[0].age。格式正确。而b中直接以数组名.name,std为一个地址,指向一个数组,无法对其进行赋值。