What is the meaning of int b declared and used as @(b) in system verilog?

In reply to Thobiyas:

@(expression) means "wait for the value of the expression to change. So @(b) means wait for the value of b to change.