1.在c 语言中,逻辑‘ 真’ 等价于 非零的数
2. static ① 可防止变量重名 ② 不管程序有没有执行,都分配内存
3. 任何的变量 ① 表示变量的地址(左值) ② 变量的值 ( 右值)
4. linux 中的 7种 文件类型:
- 普通文件
d 目录文件
l 连接文件
c 字符设备文件
b 块设备文件
p 管道文件
s 套接字文件
5. const 什么 含义??
“ 只读 ” ??
6. volatile 说这变量 可能会被意想 不到的 改变。优化器在用这个变量时, 必须每次小心重新读取这个变量的值 , 而不是使用在寄存器的 备份。
7. static 三个明显的作用:
① 在函数体 ,一个被申明的静态变量 ,在这一函数被调用的过程中,维持值 不变。
② 在模块 内,( 在函数外)申明为静态的变量,可以被模块内的其他函数访问,但不能被模块外的其他函数访问,是一个本地的局部变量
③ 在 模块内, 一个被申明 的 静态函数,只可被其他函数调用,那就是限制这个函数 ,在本地范围使用.
8. 进程 概念 及 API
. 程序 。。。
用来表示人们思维对象的抽象概念的物理表现数据 处理的规则 ,操作指令
程序的执行方式
a, 顺序执行 cpu 利用率低
b. 并发执行 提高cpu利用率
进程
具有独立功能的程序关于数据的一次运行活动.
9.linux 下的 进程相关 api
① fork()
该函数 <unistd.h>
pid_t pid;
返回值 : > 0 , 父 进程 返回,此时返回的是,新建的子进程号
= 0 , 子进程返回
-1 错误 ,,
② getpid() getppid()
获取自己的进程号 获取父进程号
③ wait / waitpid( int* status)
等待子进程返回 status ,用来保存那子进程退出的状态?
成功, 返回那个子进程 pid , 失败返回 -1 ,errno
waitpid(pid_t pid,int* status, int options )
pid ,用来指定 等待哪个 子进程 或哪些子进程中的 一个 退出
options 一般为 0
返回值:
>0 等待指定的进程退出
-1 等待任意的子进程退出
0 等待与调用进程同一组的任意子进程退出
< -1 等待 组id 为pid 的绝对值的任意子进程退出
exit() _exit()
退出当前进程 终止当前进程
④
execl (..)
execv(...)
execle(...)
execlp(...)
execvp(..)
execvpe(....)
函数簇