Final answer:
Block scope identifiers are not visible to the linker, while non-static file scope identifiers are. The correct answer is that only file scope identifiers without 'static' are visible to the linker.
Step-by-step explanation:
Identifiers in C programming have different scopes, and their visibility to the linker depends on the scope they are declared in. Block scope identifiers are local to the block in which they are defined. This means they are not accessible outside of this block, let alone to the linker, which deals with external linkages. On the other hand, file scope identifiers (also known as global scope) are visible throughout the entire file. If they are declared with the 'static' keyword, they are not visible to the linker because 'static' limits their scope to the file they are declared in. However, non-static file scope identifiers are visible to the linker, as they have external linkage. Therefore, the correct answer is that only file scope identifiers without 'static' are visible to the linker.