Best Books on Arduino for self learning

Go to Amazon.com and search "Arduino C programming" and start reading the reviews. I'm biased, but the 2nd edition of my Beginning C for Arduino might help. Pick a topic you want to investigate (e.g., "pointers"), find the web page for the book, and click on the "Look Inside" banner on the book's cover. Scan the TOC for the topic of interest, click on that area of interest and start reading. If you don't like what you see, try it for other books, too.