2015-7-22,周三

经过一个星期C语言的学习,对基础知识语法已经有了一定的了解和认识。同时通过这三天对OC语言的学习,更加了解编程语言都是相融相通的。虽然 OC语言的语法和之前接触的C,JAVA有很大的区别,但是在讲师的解析和引导下,还是比较容易接受的。

学习知识的过程不仅仅是对知识的认识,简单的认识是远远不够的。为了今后更好的开发,要对学过的知识加以理解、辨析,通过代码去实现,加深认知。

以下是我在这段时间在学习的心得和总结。

一、数组的四种遍历方法:

根本两种方法

・1)指针

・2)数组游标

具体实现如下,21~24 ,共四种

二、函数指针

强调“指针”的作用

三、自增自减 和 指针 组合使用

打印结果

【重点】延伸

・1)自增、自减 和 指针 的组合使用

・2)关于 数组a 的地址

四、数组 和 链表

数组的优缺点:

・优点:数组是连续的,查找起来快捷方便

・缺点:数组的插入和删除十分麻烦

链表的优缺点:

链表每个节点存储两个数组,一个是存储的数据,另一个是下一跳的目标地址

・优点:链表插入和删除方便

・缺点:遍历效率相对数组低

五、关于数组地址 +1

例如,对 &a + 1 相当于 对  a 的地址上 + ( sizeof(a) * sizeof(int) )  ―> +( 6 * 4)

即对 a 的地址加上一个 数组a 所占用的空间长度

零、结构体、枚举

一、作用域 ―【 { } 】

即 { }

名字的 作用域 是指 在程序中可以使用该名字的部分

简而言之:在 { } 内声明的通常只能在 { } 内使用。

(若在其他地方用 extern 再次声明也可使用)

二、各种 变量 的特点和区别

1.自动变量 ―【auto】

2.静态变量 ― 【static】

静态变量,保留上一次值。

静态变量的生命周期和引用程序绑定。

静态变量写在函数内或者函数外,他的生命周期并没有受到作用域的限制。

如果卸载函数的外面,其他的函数也可以使用这个变量。如果写在函数里面,只能在对应的函数中使用

存储区域: 静态存储区。

3.局部变量

4.全局变量

全局变量可以多次声明(用extern),表示同一个变量,但是不能多次定义

5.静态全局变量

三、结构体 ― 【struct】

1.概念

定义一个结构体,只是说明了该类型的组成情况,并没有给它分配存储空间

结构体占用的内存空间是其成员所占内存之和,而且各成员在内存中按定义的顺序依次排列

2.定义

1)定义方式【3种】

【易错】・定义的类型名,首字母必须大写

・结构体{ };大括号结尾必须有 “ ; ”

2)嵌套定义,但是不能对自身进行递归调用

3.初始化 及 使用

不可用 42 行的方式进行初始化(注意区别数组的初始化)

“ . ” 是运算符

四、结构体指针

1.因为每个结构体变量都有自己的存储空间和地址,因此指针可以指向结构体变量

2.结构体指针使用的方式【3种】

【重点】第三种方式 ― 26行

printf(“name is %s\n”, p -> name);

五、枚举 ― 【enum】

1.枚举就是用来定义一系列类型的

2.枚举值其实就是数值,枚举值默认是从 0 开始的,然后依次在上一个值的基础上累加

3.定义方式【3种】

参照结构体的 3 种定义方式(类似)

六、typedef

1.使用 typedef 关键字为各种已知数据类型定义一个新的名字(别名)

【易错】首字母必须大写

【易错】

1.定义结构体的结尾必须加 ;

2.结构体,枚举  字母必须大写

3. typedef  和 define 之间的区别

OC语言

二、OC 和 C 的一些区别

1.导入头文件

・C:  使用 #include 导入头文件

・OC: 使用 #import 导入头文件

其中Foundation 中包含 C 的头文件

2.字符串

・在OC中使用%@格式化,打印一个字符串对象

三、类和对象的区别

类是对象的类型

不同于 int 等基本类型, 类这种类型具有方法

四、属性声明【3种】

1)public: 公共的,所有类都可以使用

2)protected: 受保护的,定义的类及其子类可以使用

3)private: 私有的,只能在定义的类中使用

五、定义类的步骤

1)定义类名

2)编写类的属性―> 实例变量

3)编写类的方法―> 方法

------------------------------------------------------------------------------

oc语言和c语言,C语言及OC语言初期学习心得相关推荐

  1. C语言和Python哪个好?学哪个语言?

    C语言和Python哪个好?学哪个语言?其实语言并没有说哪一个好哪一个不好,都有自己的特点.Python底层就是C语言实现的,如果你想深入的话,建议先学C语言,再学习Python.如果只是想掌握一门编 ...

  2. 易语言和python混合编程_关于易语言与Python的一点想法

    易语言与python的一点想法">关于易语言与Python的一点想法 小香蕉 2019年7月11日 说在前面 最近吃饭的时候总是会想很多关于易语言的事情.易语言是我学会的第一门语言,虽 ...

  3. c语言和python和java_C语言和Python语言,那个更好?

    最近很多人问我:C语言和Python,哪个更好?实际上,并没有哪个好,哪个不好,它们都有自己的特点,因为,Python的底层逻辑是用C语言实现的,如果您想更深入的学习,那么建议先学习C语言,然后再学习 ...

  4. c语言和python哪个有用_python和c语言哪个实用?

    原标题:python和c语言哪个实用? python和c语言哪个实用 Python的语法非常特殊,它是由空格严格控制的.然而,这对那些刚接触编程的人来说并不好.下面小编就来给大家讲一讲c语言和pyth ...

  5. 数据挖掘r语言和python知乎_Hellobi Live |R语言爬虫实战案例分享:网易云课堂、知乎live、今日头条、B站视频...

    课程名称 R语言爬虫实战案例分享:网易云课堂.知乎live.今日头条.B站视频 网络数据抓取是数据科学中获取数据中的重要途径,但是一直以来受制于高门槛,都是专业程序员的专属技能.直到R语言和Pytho ...

  6. c语言和python实用性_C语言和Python语言,那个更好?

    (3)灵活性 Python语言的最大优点在于它的灵活性,这在测试领域非常重要,因为测试所面临的业务和需求经常在变化,有时它们甚至无法满足并自行决定,而在这时,你可以使用Python丰富的第三方库轻松找 ...

  7. r语言和metawin_Windows下使用Rtools编译R语言包

    使用devtools安装github中的R源代码时,经常会出各种错误,索性搜了一下怎么在Windows下直接打包,网上的资料也是参差不齐,以下是自己验证通过的. 一.下载Rtools 根据自己安装的R ...

  8. c语言和c++还有java_C语言和Java的区别_JAVA和C++的核心区别

    C语言和Java作为编程界的两大编程语言,两者之间,有联系又有区别.下面学习啦小编带你去了解一下JAVA和C++的核心区别吧. C语言和Java的区别 A.在继承中的区别 C语言是多线继承,比如:小轿 ...

  9. c语言和python不同_c语言和python的区别是什么?

    原标题:c语言和python的区别是什么? python和C语言的区别如下: 1.C语言是编译语言,Python是脚本语言.说是C语言会比Python快 (看了看学校oj最简单的A+B问题,C语言的运 ...

  10. c语言节点有指针域数据域,学习心得:链表的操作(C语言实现)

    今天将给大家讲述链表的学习心得.学习数据结构,毋庸置疑链表必须学好,后面的栈.队列.树.图都是以链表为基础的:链表的种类很多,有单链表.双链表.循环链表.非循环链表:在此,我们以非循环单链表为例,来讲 ...

最新文章

  1. 爬虫好学吗python-python爬虫难学吗
  2. 杭电 汉诺塔问题总结
  3. 如何将BeanDefinition注册到IoC容器?
  4. Ajax — 评论列表
  5. java监听数据库操作_第十六篇——JDBC操作数据库之监听器
  6. CentOS7下Spark集群的安装
  7. tomcat 参数最佳实践_一线架构师开发总结:剖析并发编程+JVM性能,深入Tomcat与MySQL...
  8. 这4种分析方法,大牛产品经理都在用
  9. centos安装python3小白_centos7安装python3
  10. 程序员生存指南:如何在技术浪潮中屹立不倒?
  11. pdf数据填充,JaspersoftStudio,JasperReport
  12. PHP中的PDO详解
  13. micropython入门指南-电子工业出版社-网上书店
  14. LNK 2001:无法解析的外部符号 _sprintf
  15. secoclient免积分下载
  16. c语言经典面试题(附答案)
  17. 全向轮三轮小车的搭建(一)
  18. Django的Forms.py
  19. pdps修改服务器,Tecnomatix PDPS二次开发功能介绍
  20. C++连接MySQL

热门文章

  1. Faster RCNN总结
  2. g20曲线拟合源码解读
  3. Linux环境升级node版本
  4. legend---十二、js中的js语句和函数和ready函数的关系是什么
  5. Linux修改用户密码有效期
  6. 如何在Kali Linux中安装Google Chrome浏览器
  7. 【NOIP】提高组2012 同余方程
  8. [Emgu]判断一张图片是否在另一张图片中
  9. Go内置库模块 flag
  10. 门户网站运营的几个方法