strerror(errno)
作用:获取系统错误信息或打印用户程序错误信息。
百度百科链接:https://baike.baidu.com/item/strerror/7944362?fr=aladdin
C语言学习:c语言中命令行参数argc,argv[]详解
1.argc为整数
2.argv为指针的指针(可理解为:char
**argv or: char *argv[] or: char argv[][]
,argv是一个指针数组)
注:main()括号内是固定的写法。
原文链接:http://www.cnblogs.com/yanglai/p/6927151.html
数组指针与指针数组的区别:
数组指针是指向数组首元素的地址的指针,其本质为指针(这个指针存放的是数组首地址的地址,相当于2级指针,这个指针不可移动); 指针数组是数组元素为指针的数组,其本质为数组。
数组指针:
例如:
{
int a[4][5];
int (*p)[5]=a;
}
这里a是个二维数组的数组名,相当于一个二级指针常量;
p是一个指针变量,它指向包含5个int元素的一维数组,此时p的增量以它所指向的一维数组长度为单位;
*(p+i)是一维数组a[i][0]的地址;
(p+2)+3表示a[2][3]地址(第一行为0行,第一列为0列),(*(p+2)+3)表示a[2][3]的值。
//(*p)[5]其中的5换成其他的数字在vc++6.0环境中都无法通过编译
(*p)[5]其中的5在上述例子中没有表示任何意思你可以换成除0以外的整数,[5]的作用就是帮助你记忆说你所指向的一维数组的长度。(不过除了与定义的二维数组的长度一致的不会警告之外 )其他的数会警告但是不影响结果。
百度百科链接:https://baike.baidu.com/item/数组指针/4177860?fr=aladdin
指针数组:
char *p[3]={“I”,”am”,”strong”};
p[3]是指针数组,实质是一个数组,里面的三个元素都是指针, []的优先级比的优先级高,p先与[]结合,形成数组p[2],有两个元素的数组,再与*结合,表示此数组是指针类型的,每个数组元素相当于一个指针变量
百度百科链接:https://baike.baidu.com/item/指针数组/8669080?fr=aladdin
ps命令
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.
常用:
ps -aux
显示其他用户启动的进程(a)
查看系统中属于自己的进程(x)
启动这个进程的用户和它启动的时间(u)
stat 中的参数意义如下:
D 不可中断
Uninterruptible(usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核2.6开始无效)
X 死掉的进程
< 高优先级
n 低优先级
s 包含子进程
- 位于后台的进程组
kill命令
发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
kill -9 PID
原文链接:https://blog.csdn.net/peterxiaoq/article/details/72877223
使用scanf后要注意清空输入缓存(如回车)
方法:
setbuf(stdin,NULL);