Giter VIP home page Giter VIP logo

c-toturials's Introduction

#写在开头

##关于写作目的

C语言是我接触的第一门程序语言,或多或少还是有那么一点“初恋情结”。在之后的开发中,不管是做Java,还是做PHP,还是现在在做的iOS,我都不愿意丢掉C(也丢不掉)。

##面向读者

初学者,或将C语言作为工具的其他语言开发者。

##关于内容

主要面向的读者还是iOS开发人员,准确点,是使用OC语言的iOS开发者。所以,在内容上,也相应有了侧重。主要是程序的三大结构,指针。数据结构与算法也有,但是因为这些用语言并不好表述,所以只是简单的讲解下。刚兴趣的读者,完全可以把这个作为方向,继续深入研究。

##学iOS先学C语言

在给很多学生讲课的时候(iOS开发),我都会问,你们为什么要学C?不学C能不能做iOS?一般情况下,他们也说不出一个所以然。甚至一些已经毕业了的学生,都还很“大气”的说:“我就是不懂C,iOS里面用到的所有方法都是我自己封装的”。然后我让他把代码发给我看,结果所谓的方法封装,只不过是拿OC调用了一次而已,并且漏洞百出。倒不是说这和C有关系,而是想要对底层进行理解与重写,那C语言,是你绕都绕不过去的坎。

所以,为了大家能在学习iOS之前,安安心心的学习C语言,不要急功近利,我还是把为什么我认为要先学C语言的原因给出来:

  1. 帮助理解计算机内存;
  2. 帮助理解数据结构;
  3. 帮助理解OC底层的实现(因为OC不开源,想要理解算法,可以看下Java的实现);
  4. 最后一个也是我最不愿意说的一个,为了面试。

##检验标准

如果只是为了方便理解OC来学习C语言的话,那么,检验标准就是能在学习OC的时候,马上能反应出来,它的内存大概是什么样,用OC数组(NSArray)的时候可以联想到它是哪种数据结构,这样,我认为就差不多了。

##关于环境

所有Demo与课程讲解,均使用Xcode。

##教程Demo

https://github.com/saitjr/C-Toturials-Demo.git

##联系方式

如果在学习过程中遇到无法解决的难点,请联系我[email protected]

##纠错 如果发现错误或歧义,请直接在github上fork并修改,仓库地址:https://github.com/saitjr/C-Toturials.git

c-toturials's People

Contributors

saitjr avatar noname007 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.