请对下列表达式求值并解释
考虑下面这些声明和数据。struct node_s {
int a;
struct NODE *b;
struct NODE *c;
};
struct node_s nodes[5] = {
{5, nodes + 3, NULL},
{15, nodes + 4, nodes + 3},
{22, NULL, nodes + 4},
{12, nodes + 1, nodes},
{18, nodes + 2, nodes + 1}
}
struct node_s *np = nodes + 2;
struct node_s **npp = &nodes[1].b;
对下面每个表达式求值,并写出它的值,同时,写明任何表达式求值过程中可能出现的副作用,你应该用最初显示的值
对每个表达式求值(也就是说,不要使用某个表达式的结果来对下一个表达式求值),假定nodes数组在内存中的起始位
置为200,并且在这台机器上整数和指针的长度都是4个字节
1. nodes[3].b->b
2. *nodes[3].b->b