任何人都可以解释使用pthread_cond_broadcast()向所有等待线程广播使用条件变量信号的C代码吗?
#include <stdio.h>
int main( )
{
float a=1.0;
long i;
for(i=0; i<100; i++)
{
a = a - 0.01;
}
printf("%e\n",a);
}
Run Code Online (Sandbox Code Playgroud)
结果是:6.59e-07
在file1.c
int a[3]={1,39,7}; /* definition */
Run Code Online (Sandbox Code Playgroud)
file2.c中
extern int a[]; /* declaration */
b = a[2]; /* correct usage in file2.c */
Run Code Online (Sandbox Code Playgroud)
file3.c中
extern int *a; /* another declaration */
c = a[1]; /* a[1] is *(a+1), fails! */
Run Code Online (Sandbox Code Playgroud)
file2中的用法获取a的第3个元素(7),但file2中的用法将39解释为地址(假设32位整数和地址),导致垃圾或访问冲突错误,为什么会这样......?
c ×3