第09天C语言(00):笔记总结

01-指针和数组(新)
 只要一个指针指向了数组,那么 访问数组就有3种方式

  1.: age[0]

  2.: p[0];

  3.: *[p+0];

  4.: 0[p]
02-指针和字符串
 保存 字符串的两种方式:

  char str[] = "lyh";

  存储的位置 : 栈

  特点 : 相同的字符串 会重复的分配存储空间

  字符串可以修改

  

  char *str = "lyh";

  存储的位置 : 常量区

  特点 : 相同的字符串 不会重复的分配存储空间

  字符串不可以修改

  

       通过数组保存字符串 和 通过指针保存字符串的区别

       如果通过 数组来保存字符串 , 那么字符串是一个变量 str 可以修改

       如果通过 指针来保存字符串 , 那么字符串是一个常量 str2 不能修改

       数组保存的字符串 存储在内存的 栈中,而通过 指针保存的字符串 存储在 常量区

       存储在 栈中的变量有一个特点, 当作用域结束, 系统就会自动释放该变量

       存储在 常量去 的值有一个特点, 不会被释放,而且多个相同的值 对应的地址相同
03-指针和字符串-注意点
 注意: 用指针来保存字符串 不可以被改变

 指针没有初始化 不能随便使用
04-指针数组
 定义数组的格式 : 元素类型 数组名称[元素的个数]
05-指针变量作用
 指针保存的数据 存在常量区,常量区 不会自动释放.所以外面能获取到值
06-指针综合练习
 要求自己实现strlen函数

 四个知识点

     1.任何数值都有真假性 (1真 0假)

     2.++在前 ++在后的特性 (i++ 先获取之前的值,再自增1 --- ++i 先自增1,在操作)

     3.指针+1是加多少 加上指针类型的所占用的字节(char *p p+1 = p+1 --- int *p p+1 = p + 4)

     4.循环只会执行离他最近的一条语句

07-指向函数的指针-基本概念

 对OC的block有一定好处

   函数也会占用一块存储空间

   函数也会占用一块存储空间,所以函数也有自己的地址

   函数的地址保存在函数名中

   函数名就是函数的地址 == 数组名就是数组的地址

  

      指向函数的指针的定义格式

      void (*funtionP) ();

      *              : 代表一个指针

      funtionP       : 代表指针变量的名称, 区分

      (*funtionP)    : 代表将来指向一个函数

      void           : 代表将来 指向的函数 没有返回值

      ()             : 代表将来 指向的函数 没有参数

  

  ---

  没有返回值 没有参数

  没有返回值 有参数

  有返回值   没有参数

  有返回值   有参数
08-指向函数的指针-应用场景
 定义一个方法,给你两个数,用户要求你做加法,你就做加法,用户要求你做减法,那你就做减法

 int demo3(int v1,int v2,int (*p)())

 {

     return p(v1,v2);

 }

  

     printf("sum = %i\n",demo3(10, 20,sum));

     printf("minus = %i\n",demo3(10, 20,minus));
09-指向函数的指-针练习
 #pragma 1.要求用户输入一段英文,将用户输入的英文单词所有的首字母大写
10-结构体-基本概念
 如何定义一个结构体变量

      1.定义结构类型

      2.根据结构体类型,定义结构体变量

      struct 结构体类型名称

      {

         属性;

      };
11-结构体-初始化
 1.定义的同时 初始化

 2.先定义再初始化

 3.先定义再初始化(一次性初始化)

 4. 指定将数据赋值 给指定的属性

 
12-结构体-内存存储细节
 注意: 定义结构体类型 并不会 分配存储空间

  只有定义结构体变量 才会 真正的分配存储空间

   结构体 会首先找到 所有属性 中 占用内存存储空间最大的那个属性,然后按照该属性的倍数类型分配存储空间

   1.找到结构体类型 中 占用存储空间最大的属性, 以后就按照 该属性 占用的存储空间1 来分配(在当前这种情况 每次分配8个字节)

   2.会从第0个属性 开始分配存储, 如果存储空间 不够 就会重新分配,如果存储空间 还有剩余, 那么就会把后面的属性的数据存储到剩余的存储空间中

 
13-结构体-类型定义方式
 1.先定义结构类型, 再定义结构体变量

 2.定义结构体类型的同时 定义结构体变量

 3.定义结构体类型的同时 定义结构体变量, 并且省略结构体名称
14-结构体-类型作用域
 相同作用域 不能有同名的结构体类型

 如果变量 写到函数或者代码块外面, 那么就不是局部变量,而是全局变量

 全局变量的作用域 是从定义的哪一行开始, 知道文件末尾 (暂时这样理解)
15-指向结构体的指针
 /*

  控制台 可以通过 po 输入其他当前的界面获取属性的值

  

  

  如何定义 指向结构体变量的指针

  1.拷贝 结构体类型 和 结构体变量名称

  2.在类型 和名称中间加上一颗星

  

  当指针 指向结构体之后 如何利用指针访问结构体

  结构体变量名称.属性;

  (*结构体指向变量名称).属性;

  结构体指针变量名称->属性;

  

  */
16-结构体-数组
 要求定义变量保存 公司所有部门的绩效(部门名称,部门人数,绩效)
17-结构体-嵌套
 注意 : 如果结构体的属性 又是一个结构体,那么可以通过连续.的方式,访问结构体属性中的属性

 如果结构体类型中的属性 又是一个结构体,那么赋值时候通过{}赋值
18-结构体和函数
 1.将结构体属性传递给函数,在函数中修改形参 不会影响到实参

 2.将结构体名称 作为参数传递, 在函数中修改形参 不会影响到实参

 结构体之间赋值是 值传递, 系统会将结构体的值 拷贝一份 到 B结构体中
19-枚举-基本概念
  枚举就是 专门用于 表示集中固定类型的取值

  枚举的本质 就是基本数据类型, 就是整型

  枚举和结构体一样,要想定义枚举类型变量,那么必须先定义枚举类型

 

 枚举类型定义的格式

     enum 枚举类型名称

     {

     取值,

     };

 

  定义枚举类型的规范

  枚举类型的取值一般以k开头,后面跟上枚举的名称, 跟上当前取值的含义

  和结构体一样,枚举类型的名称 首字母大写
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,419评论 3 44
  • 版权声明:本文为 gfson 原创文章,转载请注明出处。注:作者水平有限,文中如有不恰当之处,请予以指正,万分感谢...
    gfson阅读 2,888评论 0 6
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,204评论 0 4
  • 为了解决windows和Mac无法进行容器多终端异步访问,故设计了Kitematic:详情可以参见 Kitemat...
    行书以鉴阅读 4,548评论 2 16
  • 纸上得来终觉浅。 人生就像旅行,一路走走停停,经过这个路口,观赏、张望、品尝。 遇到下个路口,不惊慌,不惆怅。 一...
    高冷冷的冷阅读 212评论 0 0