1、请问第六行的代码~x为什么结果为65523?
2、请问第七行的~x的结果为什么是-13?
~x就是对x值取反的意思,x值为12,取反就是65523,因为输出是无符号的,unsigned short类型最大值为65535
第7行输出是有符号的,65523有符号时就是-13
int InitList_Sq(struct SqList* L)
{
L->elem = (int*)malloc(LIST_INIT_SIZE * sizeof(int));
if (!L->elem)exit(0);
L->len = 0;
L->size = LIST_INIT_SIZE;
return OK;
}
首先为 int*elem分配内存空间,如果失败返回零,成功就返回内存空间首地址,并把链表长度置为零,链表最大长度设为 LIST_INIT_SIZE(大小为10)
! || && 是逻辑运算符,逻辑判断只有真 1 假 0 两个值。
~ | & 是位运算符,顾名思义按位做相应运算。