进程的上下文切换就比系统调用时多了一步:在保存内核态资源(当前进程的内核状态和 CPU 寄存器)之前,CPU上下文和用户态资源(虚拟内存,栈),CPU 寄存器需要更新为内核态指令的新位置,CPU 寄存器需要恢复原来保存的用户态
C语言实现字符串拷贝,C语言实现字符串拷贝递归实现,C语言实现字符串拷贝递归实现2
C语言用指针方法对10个整数按由小到大顺序排序
C语言实现数组元素反转,C语言实现数组元素反转递归实现
&a是一个指向二维数组的指针,二维数组有12个元素,二维数组,占16个字节,占48个字节
数组名arr就是第一个元素的首地址,数组名arr不代表整个数组,只代表首元素的地址,数组名是表示数组收地址的地址常量
(*p)++表示p所指向的元素值加1,而不是指针加1,后使p值加1,相当于a[i++],*(++p)先使p加1,++指针在数组内部向前移动一个元素的大小
后让p加1,先在p所在的表达式中使用p的当前值,让p先加1,p++和++p
因为32位程序里内存地址长度都为32位,所有类型指针的值都是一个32位整数,从指针的值所代表的那个内存地址开始,长度为sizeof(指针所指向的类型)的一片内存区域
指针类型,指针所指向的类型,指针类型:声明指针时位于变量前面的"类型 *",指针所指向的类型:指针初始化或赋值变量类型