zoukankan      html  css  js  c++  java
  • 2020春-C高级--第二周--视频内容大纲

    一、视频1.1.4指针和数组

    • 1、传入函数的数组实际传入的是指针!另外学习这个知识点外,一定要学会使用printf来调试程序,老师也是在程序里不断加入printf来验证观点。
    • 2、传入函数的数组实质上传入了数组的首地址,所以需要注意:
      • 数组参数有四种形式:
      • 数组长度需要单独传入调用函数内
    • 3、数组变量是特殊的指针
      • 数组变量a本身表示地址,无需用取地址符号&;
      • 数组单元表达的是变量,需要用取地址符&,比如a[1]的地址是&a[1];
      • []是一个运算符,操作数也可以是指针,*p等价于p[0],将指针变量p认为是数组长度为1的一个数组,但注意不能p[1],为什么?;
      • * 运算符的操作数也可以是数组变量a,对数组变量a进行*运算得到数组的a[0]元素的值;
      • 数组变量是const类型,常量指针,不可改变,但普通指针p可改变,可指向别的变量。

    二、视频1.2.1指针运算

    • 1、指针加1意思是指向下一个单元,而不是指针变量里的值真的加上1;
      • 注意:此指针必须指向一片连续的空间,否则加1就没有意义了,就会指向一个未知的地方。
    • 2、指针还可以做减1、--,++,-=,+=运算;
    • 3、两个指针可相减,得到两个指针之间有几个单元;
    • 4、*p++,++的优先级比*高,但是在p后面,所以此句意思是先取出p所指的数据,然后指向下一个数据;
    • 5、指针可比较大小,但指针不能进行乘除运算;
    • 6、0地址可用NULL来表示;
    • 7、不同类型指针不可以赋值,初学者不建议强制类型转换,也不建议void*

    PTA题目:
    1、**不能用于一维数组,可用于二维数组。
    2、指针时用来存放地址,地址就是个常数,所以编译是能通过的!但是,这样执行会出错(段错误)的!因为指针本来是存放地址的,而存放了一个常数(即一个不合法的地址),这样就会使指针指向不确定的内存单元(非法访问),从而出现错误!

    3、填空题4-3一步步认真分析。
    4、程序填空题,实参和形参的关系!
    5、函数题,先实现数组一次移动,再循环移动~

  • 相关阅读:
    Apache+PHP多端口多站点
    异步将远程链接上的内容(图片或内容)写到本地--微信头像
    如何判断微信内置浏览器(JS & PHP)
    阿里大于(阿里大鱼)短信发送
    商城分类表-二级,内容较全
    ajax省市县三级联动
    html5自带表单验证-美化改造
    thinkphp使用自定义类方法
    thinkphp模板中for循环与switch的使用
    css揭秘之按钮的实现技巧
  • 原文地址:https://www.cnblogs.com/c-programing-language/p/12408194.html
Copyright © 2011-2022 走看看