libraries (location)

I am new to Arduinos, and I am trying to understand where all of the libraries may be located. I notice that when I go to Sketch > Include Library, I see a list of "Arduino libraries" and "Contributed libraries".

I recently installed the Bounce2 library (it is now in "Contributed libraries"), and a sketch, that previously failed to compile and upload, now does so and works fine.

Another sketch that contains #include<avr/pgmspace.h> failed to compile and upload, but evidently not because the Arduino IDE could not find the pgmspace library. It failed because of C programming errors (variable types were not named).

What confuses me is this: When I go to Sketch > Include Library, I do not see the pgmspace library, but I assume that it must be somewhere in the IDE or else I would have seen a compiling error similar to the one that I saw before I installed the Bounce2 library in my previous sketch (i.e., cannot find file Bounce2.h).

Can someone tell me where in the IDE I can locate all of the libraries that are presently available to the IDE?

The normal libraries that come with the IDE are located in [Arduino IDE]\libraries.

If you download a library you should put it in [Sketchbook]\libraries (defaut: C:\users[you]\Documents\Arduino). If you put them in the IDE folder you lose them on a update of the IDE etc. Not what you want

Most of these libraries work (or can work) for all types of boards. They are mostly higher level libraries.

The avr/[name].h tells you it's a specific AVR library. You can't use it on a not AVR board. It's located in the hardware folder (because it's hardware dependent). So [Arduino IDE]\hardware\tools\avr\avr\include\avr It's part of the compiler Arduino is build around, AVR-GCC.