How to use linked objects with an Array modifier?
A method would be to use linked-duplicated bricks (AltD).
If you use an Array modifier, it has the advantage of being non-destructive and light as long as you don't apply the modifier, but it will give a bit repetitive result. But you can use a Displacement modifier to solve the problem:

Create a 2 brick object, subdivide them a bit.



Give it an Array modifier on the X axis. Then a second on the Z axis.




Give it a Subdivision Surface and smooth it. Then give it a Displace modifier with a Cloud texture, it will allow you to break the wall uniformity.


For the brick you show, you can do it this way:

Create a plane, subdivide it, bevel the new edges.




Drag the central edge to create the slots, give your object a Subdivision Surface to check the shape, give it an Array on X and Z axis. Put the Subdivision Surface modifier below the Array modifiers.