2010-12-04 1 views
14

Я в настоящее время новичок в колледже, специализирующийся на CS. Я просто закончил свой класс «Вступление в компьютерное программирование». Мне это нравится, и я чувствую, что немного учусь.Учебник по C указателям и массивам с точки зрения Java

Пару дней назад я прочиталJoel. «Связанный список?» Я думал, «это даже не сложно. Мы сделали кучу тех, кто уже в классе, в котором я сейчас.» Это правильно, потому что на Java они не так уж трудны. Но, в любом случае, я попытался написать письмо в попытке.

И это ТАК ЖЕ!

Joel был прав, я думаю ... Java имеет дело с таким количеством маленьких вещей, которые вам нужны, что это действительно не так сложно. Но я решил превзойти Java-tude моей школы и научиться писать этот связанный список dang в C.

Так что, я думаю, вместо того, чтобы пытаться задавать много-много маленьких вопросов, я спрашиваю, кто-нибудь знает о хорошем (& бесплатно) онлайн-учебник для обучения C? В частности, научиться обращаться с указателями и всеми этими символами (&, *, **, [] и как они работают вместе). Я хотел бы думать, что я уже хорошо разбираюсь в Java, поэтому мне не нужны учебники о том, как написать «Привет, мир!». программа. Но тогда я определенно не готов попасть в какие-либо супер-продвинутые C или C++, потому что все, что я знаю, это Java.

Любая помощь оценена!

+9

Проблема с онлайн-учебниками заключается в том, что они почти всегда имеют очень низкое качество и имеют пагубные технические ошибки и другие ошибки или рекомендуют в целом плохое кодирование стиля (я не так хорошо знаком с онлайн-ресурсами C, как я с C++, но для C++ нет хороших бесплатных онлайн-уроков). Если вы хотите изучить C и как работают указатели и массивы и другие аспекты языка, сделайте себе одолжение и [получите хорошую книгу для начинающих] (http://stackoverflow.com/questions/562303/the-definitive-c- книга-гид-и-лист). – 2010-12-04 20:36:28

+1

Я не знаю, что есть что-то, что можно получить, указав «с точки зрения Java», потому что Java не имеет очевидной аналогии с указателем ... возможно, вы просто хотите [хорошее общее руководство для указателей] (http : //stackoverflow.com/q/4016765/2509), и там есть [http://stackoverflow.com/questions/5727/what-are-the-barriers-to-understanding-pointers-and-what- может быть сделано для преодоления) вопросы для этого [уже] (http://stackoverflow.com/questions/2271490/c-pointers-good-tutorials). – dmckee 2010-12-04 20:37:37

+0

Хотя, [Учебник Указателей Альфа Штайнбаха] (https://docs.google.com/fileview?id=0B2oiI2reHOh4M2MzNzYwYzQtMGZkNC00NTlLLJJMMUtOGI0MmRkMTMyZGY4) может быть вам полезен. Это хорошо написано, но сосредоточено на C++, а не на C. Вам все равно нужна хорошая книга. – 2010-12-04 20:40:06

ответ

6

Некоторые учебники:

Некоторые хорошие ответы указатель, которые могут помочь:

Первый чертовски хорошо читать про указатели и их подводные камни, если вы можете получить мимо синтаксиса Pascal.

3

Проверьте и проверьте, требует ли ваша учебная программа системного программирования. Обычно это курс 300-го уровня, и я зачислен в следующий семестр. Он активно участвует в работе с C + GCC в Unix.

Проверьте свою библиотеку CS-депт, если таковая существует. Я подобрал копию K & R, чтобы работать над зимним перерывом.

1

This предназначен для C++, а не C; но вплоть до главы 3.7 или около того говорят о вещах на уровне машины таким образом, что это полезно для потенциальных программистов на С.

0

Существует множество руководств по Интернету для обучения указателям. Вот один из них: http://pweb.netcom.com/~tjensen/ptr/pointers.htm, который я использовал.

Я также предлагаю эту книгу вам: Hacking, the Art of Exploitation 2nd Ed.

Эта книга не сделает вас «хакером». Ничто, кроме большого количества обратного проектирования/изучения двоичного кода, проб и ошибок и т. Д., Будет делать это. Однако он представляет вам, как вы начинаете делать эти вещи, и это сводится к фундаментальному пониманию того, как работает C, включая указатели. Его введение в сборку/C является одним из лучших, что я видел, потому что он запускает вас через несколько примеров C и как вы исследуете, что происходит с gdb, средством отладки командной строки. Таким образом, вы можете увидеть C и увидеть сборку. Это включает в себя фундаментальное понимание того, что такое указатели.

Эта книга как побочный эффект дает вам введение в стек и кучу, структуры данных и т. Д. Короче говоря, чтение вступительных разделов даст вам большую пользу для остальной части вашего курса.

Смежные вопросы