static and shared libraries

can someone explain whether my understanding is correct

lets suppose we have a program that uses library x.

if x is static then the code of x will be part of our program, so if we're going to have 5 executables of our program, then each executable will have x as part of it.
Also, x does not have to be stored anywhere on the filesystem as it will be part of all execujtables.

if x is dynamic then the code of x will not be part of the program. Instead x will need to be placed somewhere on the system and the program x will look for x when it is run.

Thanks.

You are correct, a static linked library will be included in the executable created, whereas a dynamic linked library will remain seperate and the library will need to be pressent on your system.

Thanks for clarifying.