Можно рассматривать ссылку, как вариант указателя. Ссылки более безопасны, но менее мощные, из-за своих ограничений.
Например, ссылка не может быть не инициализированной или нулевой - значит нельзя получить ошибку разыменования нуля.
Пример
int a = 5;
int &b = a;
printf("%p %p", &a, &b);
a - переменная целочисленного типа со значением 5.
b - ссылка на переменную целочисленного типа.
Код выведет один и тот же адрес переменной.
Указатели в c\c++ - это специальный вид типов, содержащий не само значение переменной, а адрес данных в памяти.
Пусть переменная a имеет целочисленный тип и значение 5.
int a = 5;
Создадим переменную b типа указатель на целочисленную переменную a.
int* b = &a.
& - операция взятия адреса от переменной.
printf("%p", b) - выведет адрес в памяти, по которому лежит переменная a со значением 5.
printf("%d", (*b)) - выведет само значение переменной, по указателю (в данном примере - 5).
Он считается самым сложным языком, но язык стоящий, при разработке программ и т.д.
Мой брат изучает этот язык уже давно и сейчас пишет программы для "Билайн", и для других компаний.
Изучай не пожалеешь! Язык стоящий)
Советую самоучители по изучению компьютера автора Александра Левина. Я сам начинал с его самоучителя, когда ещё применялась операционная система Windows Millenium. Автор хорошо излагает тему, есть у него и чувство юмора. А теперь он написал книги о компьютере и для женщин, и для пенсионеров. Всё изложено доходчиво и понятно.
Есть ещё один автор - Виталий Леонтьев. Его книги толстые - настоящие энциклопедии! Они так и называются: "Компьютер и интернет 2015. Энциклопедия". Там изложено всё и обо всём и тоже доходчиво и доступным языком. Его энциклопедию за 2011 год я прочёл полностью и не жалею об этом.
К сожалению о программировании эти авторы не пишут - их книги рассчитаны на начинающих пользователей.
Для ознакомления с языком, по-моему, лучше всего зайдите на YouTube и посмотрите уроки, все очень толково объясняется. Скачайте компилятор, без него ничего не получится, советую Visual Studio Express Edition (бесплатная версия). Из литературы, наиболее доступно все изложено в книге автора Лафоре. В тегах Вы поставили также C#, так вот, не путайте языки C (си), C++ и C# - это разные языки, хоть и очень похожи. Начинайте с языка C++, он очень похож на Си (это более ранняя версия) во многом ничем не отличается, по мере изучения все поймете, главное не сдавайтесь, все, что будете смотреть на видео обязательно печатайте самостоятельно вживую, так лучше и быстрее запомните. И еще раз - видео и книга Лафоре. Удачи!
P.S. C# очень классный и удобный язык, обязательно уделите ему внимание, но не раньше, чем научитесь работать с классами в C++ (когда дойдете до этого раздела, сами все поймете).