运行程序:
创建子进程源程序
运行结果:
获得父子进程的Process Identification
分析运行结果:
创建新进程成功,出现两个进程,一个是子进程,一个是父进程。
父进程的Process Identification=3!
子进程的Process Identification=4!
fork仅仅被调用一次,却能够返回两次。
1)在父进程中,fork返回新创建子进程的进程ID=4;
2)在子进程中,fork返回0;
这段程序主要是演示:不同“作用域”的变量的不同特点。
具体到func()。根据func()的定义和内部变量:
int func(int x){
int a = 1
static int b = 10
...
可以看到,func()中总共有3种变量:
(1) 传入的参量: int x(2) 自动变量: int a = 1
(3) 函数静态变量:static int b = 10
这3种变量的情况说明如下:
x:传入多少就是多少
a:只要进入func()就会被初始化成1
b:从最开始的b=10,每次改变都会保留。在下次进入func()时,采用上次的值
自己试试看就知道了。谢谢。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)