Define neural network layer

Good morning every one,
I am new in neural network and I try to experiment on, I am a bit confused of the meaning of these different way to define neural network layer.
Could anyone help me to understand the difference of this different line please.
1```
self.relu(self.fc1(x))

`**2**``
`self.relu(self.hidden(x))`

``3`
self.fc1(self.hidden(x))

``**4**`
self.fc1(self.relu(self.hidden(x)))
1. self.relu(self.fc1(x))

It first pass x to a fully connected layer fc1(), then the output of fc1() is passed to a relu()

2. self.relu(self.hidden(x))

It seems it defined a hidden() layer somewhere in the model, and just like self.relu(self.fc1(x)), the output of this hidden() layer is passed to a relu()

3. self.fc1(self.hidden(x))

Similar

4. self.fc1(self.relu(self.hidden(x)))

Now it is a three-layer NN, hidden()->relu()->fc1()

@zcajiayin Thank you for your response.