C defines struct field visibility as the access control of fields within structs. Struct fields are publicly accessible by default. Techniques such as opaque pointers or encapsulating structs in functions can control visibility.