Yep, as JorgeM has stated however just giving a bit more information.
Internal IP Addresses are normally handed out with something called DHCP (Dynamic Host Configuration Protocol). DHCP normally takes place within your router on your home network, however larger networks might have dedicated servers to handle this sort of data.
What a DHCP server does is assign IP addresses to the various devices which connect to it, as well as providing other bits of information and instructions.
If you are using DHCP, then the chances are you shall be assigning a Dynamic IP, what a dynamic IP means is that each device has a 'lease' time. This is how long the device should keep this IP if the devices looses connection.
The second but less common method of assigning IP addresses is to do it manually, also known as being "Static". A static IP is assigned by a network administrator to devices which connect to it.
The reason you have these different things is for a number of reasons. If you have a large network, with twenty or fifty or one hundred devices on it then you don't want to be manually assigning an IP address to each of them. You would very quickly run out of IPs so why not assign an IP to a device as it connects?
If you are running a server however, a static IP address is preferable so that you don't constantly need to check it when trying to connect. This is critical for external networks, because otherwise you would require a DNS update each time which takes time and shall make you 'invisible' to anyone trying to connect.