week4A-pointer,memory,stack

freyasnow 2016-07-25 10:22

CS50 4A

1.大众汽车的排放检测:仅在EPA检测时达标

  1. if being tested

    turn full emissions

    else

    don't
  2. tested进一步可详细描述为:当车轮运转而方向盘不转
  3. 原理:柴油一个主要指标,未燃烧的燃料到达排气的量
    - Nox trap:装置用来吸收nitrogen oxides(污染物);该装置对于未燃烧燃料enhanced
    - defeat device:NOx trap 尽在更多的fuel被使用是工作良好
    - test中:使用更多燃料,让NOx trap work well,排放量也fine
    - road:device关闭,燃烧更少的燃料,40倍污染物排放

2.trust

  1. 图灵奖获得者1985年,unix,提出问题:to what extent should trust one program
  2. 恶意的代码在看源代码中可能不会存在,有可能在旧版本的编译器代码中

3.递归

  1. 每次循环,但问题越来越小
  2. merge sort
  3. 递归:如果function call itself
  4. sigma example

    • 每次到sigma,之前的结果pause,focus on m-1
    • 就像录像带的很多记录点,然后可以倒带研究。3keep,2keep,1keep,倒回去,回到最初的问题。
  5. google easter egg:askew recursion

4.交换数值


  1. 需要一个临时变量,暂时性存放
  2. 没有临时变量呢
    油和水,两个变量需要交换。油和水不会混合。

    三次异或XOR运算。bitwise operator ^
  3. code:noswap
    编写了函数swap(a,b),

    • main中调用swap(x,y),x,y没有交换
    • 函数中的a,b交换了
    • 为什么:函数得到了参数。但这个passing只是a copy of the arguments。因此不会对原数据有修改。

      • a和b indentical to x和y;但not same
      • 具体描述:swap函数得到参数后,用自己的笔抄下了参数,然后把参数交回main。用自己的参数来进行操作。
  4. debugger

    • step into:进入函数运行
    • 未初始化的时候的数值:是之前的32bits存储的数据

5.stack

  1. computer memory;stack

    bottom:all Main’s 局部变量,orgc and orgv
    如果main calls a function 比如swap。swap会在上面得到一层memory
  2. stack:a chunk of RAM,a chunk of memory that funcitons have access to when they are called
  3. code:string s == string t;一直认为不同

    • GetString实际返回的是string存储在RAM中的起始位置
    • 结尾通过\0
    • string do not exit;char*

      • 星号的意思:pointer or a address
      • address of the first character
      • s and t都仅仅是指向某一块内存的pointer
    • 比较前,确保s和t不是NULL。不然会出现错误
    • strmp函数,获取地址,然后迭代比较每一个字符,hit 0 结束
    • string t=s;t获得address of s
  4. 复制

    • malloc函数:内存分配
    • 给我一个内存块,然后把character一个一个复制
    • *(t+i)=*(s+i) 星号是dereference operator,go to this address
    • array的中括号是语法糖 :t[i] = s[i]


所有评论(0)

你的评论

课程全部笔记
Introduction to Computer Science

Introduction to Computer Science计算机科学导论

评分:
9 (27人评价)
时间:
时间自主
难度:
一般

京ICP证100430号    京网文[2015] 0609-239号    新出发京零字东150005号     京公网安备11010502007133号 ©2017果壳网

关于我们 新手指南