Hi,
Just to clarify for other person looking into this community for reference in the future, you mentioned that the data (or address) in I2C is 8 bytes long, but it is 8-bits long.
Regarding your question:
The ninth clock pulse is not used by the I2C slave, but used by the I2C master to confirm if there is proper communication with the device, this clock pulse is known as ACK or NACK.
The Acknowledge signal is defined as follows: the transmitter releases the SDA line during the acknowledge clock pulse so the receiver can pull the SDA line LOW and it remains stable LOW during the HIGH period of this clock pulse.
When SDA remains HIGH during this ninth clock pulse, this is defined as the Not Acknowledge signal. The master can then generate either a STOP condition to abort the transfer, or a repeated START condition to start a new transfer.
The data on the SDA line must be stable during the HIGH period of the clock. The HIGH or LOW state of the data line can only change when the clock signal on the SCL line is LOW, otherwise would be interpreted as a START or STOP condition:
A HIGH to LOW transition on the SDA line while SCL is HIGH defines a START condition.
A LOW to HIGH transition on the SDA line while SCL is HIGH defines a STOP condition.
Detailed information about the I2C specification can be found in the document in the following link: https://www.nxp.com/docs/en/user-guide/UM10204.pdf
Regards,
Jose