Mtime and ctime of Linux

if you edit a file with vi, even if the contents of the file are not modified, as long as both wq, mtime and ctime will change.
the content of the file has not changed, and I can barely understand that mtime changes as long as wq, mtime will change. (I don"t know if this is correct? )
but the content of the file has not changed, and the size of the file has not changed, so why has the attribute (ctime) changed?
can it be said that as long as there is a change in mtime, it will certainly lead to a change in ctime?
Thank you all

Mar.13,2021

atime:access time

mtime: modify timeviBlock

ctime: change timeinodeBlock
Menu