> **4.** Suppose that the following declarations are in effect: ```c struct point {int x, y; }; struct rectangle { struct point upper_left, lower_right; }; struct rectangle *p; ``` > Assume that we want `p` to point to a rectangle structure whose upper left corner is at $(10, 25)$, and whose lower right corner is at $(20, 15)$. Write a series of statements that allocate such a structure and initialize it as indicated. ```c struct rectangle rect = { { 10, 25 }, { 20, 15 } }; p = ▭ ``` ---