数据索引,读uping ,写下降
存储采用B+树,
用栈的
拓扑,深度优先遍历,关键路劲
用队列
树的层次遍历,图的广度遍历
s={1,9,0,7,5}
*p=s;
*p++和(*p)++
9 2
*p取的是地址
(值)
printf从右到左
1
2
3
|
char s[] = "123" , *p; p = s; printf( "%c\n" , *p++); |
1
int a[5] = { 555, 444, 333, 222, 111 };
int* p;
p = a;
// p = &a[0];
// p += 1;
//指针+1,表示指向下一格
//printf("*p++ = %d\n", (*p)++); // 555
//printf("*p++ = %d\n", *p++); // 555
printf("*p++ = %d %d\n", *p++, (*p)++); // 556 555
//printf("*++p = %d.\n", *++p); // 444,++前置,指针先+1,然后取指针的值
//printf("++(*p) = %d.\n", ++(*p)); // 556,先*p取值,再前置++,该值+1后作为整个表达式的值
锁就像男人一样
循环等待,等其他人释放男人,其他人才有机会
互斥 一个男人
不可抢占
请求与保持,获得更多的老婆的时候,会保持对第一个老婆的获取状态
进程如果停止,那就会导致进入就绪或阻塞队列汇中
int
x (
int
n) {
if
(n <=
3
)
return
1
;
else
return
x (n -
2
) + x (n -
4
) +
1
;
}
int
main (
void
) {
printf (
"%d\n"
, x (x (
8
)));
return
0
;
}
x(8
x(6 +x(4
x(4 x(2 x(2 x(0
x(2 x(-4
x(9
x(7 +x(5
x(5 x(3 x(3 x(1
x(3 x(-3
-
从左起输出该字符串,右补空格
-
按原字符长从左向右全部输出
-
右对齐输出该字串,左补空格
-
输出错误信息
1:字符串长度比设定长度大就按字符串实际长度输出;
2:字符串长度比设定长度小就按右对齐输出该字串,左补空格。
3:如果数字之前有-,即%-5s表示左对齐输出
假设现在有一个字符串,其内容为"I am \0good",那么使用strlen统计该字符串长度得到的结果为()
-
10
-
11
-
5
-
6
stren中\0结束
sizeof会读取\0,并且也算一个