({ ... }) is a GCC extension and its value is the value of the last expression inside the block.
So they have different uses.