void somefunc (void **elements)
{
// This function works on any array type
// Maybe it prints pointer addresses
any_struct_t **pp;
for (pp = (any_struct_t *)elements; *pp; pp ++)
printf ("address: %x\n", *pp);
}
int main (const char *cmdline)
{
typedef struct {
int a, b, c;
} any_struct_t;
void *group[25] = {0}; // (any_struct_t **)
group[0] = malloc (sizeof(any_struct_t));
somefunc(group); // <--- WARNING (any_struct_t **) vs. (void **)
getchar ();
exit (0);
我有这个代码。 任何人都可以向我解释这里发生了什么。我试图逐步(调试)理解它,但我无法理解使用反向&#39;〜&#39;在第4行,也使用&#39; val&#39;作为指数。
答案 0 :(得分:4)
y = rand(20,3);
创建一个均匀分布的随机数矩阵y
。
aa= unidrnd(2,20,3) - 1;
创建一个均匀分布的随机整数矩阵,从1到2,然后减1。因此,aa
是0和1的矩阵。
val = ( aa & y<1.366e-04) | (~aa & y<8.298e-04);
此行检查aa
为1和y<1.366e-04
或者aa为0且y<8.298e-04
的所有值。请注意,这几乎不会发生,y
均匀分布的数字从0到1,因为这些小的不太可能。
aa(val) = ~aa(val);
获取之前计算的所有案例,如果在该索引中发生aa
,则将$response = $fb->get('/me/invitable_friends?fields=id,name,first_name,score,display_name,picture.width(120).height(130)&limit=300',$_SESSION['facebookses']);
$graph = $response->getGraphEdge()->asArray();
从0更改为1或从1更改为0。