• C博客作业05--2019-指针


    1.本章学习总结(2分)

    1.1 学习内容总结

    整理指针这两章主要知识点,必须包含内容有:

    指针与数组:

    数组其实也是一种指针,不过指针比较抽象难懂,
    指针指向内存地址,做变量使用,可间接访问所指地址中的内容。

    字符指针:

    字符指针可用来处理字符串,字符串常量是一个字符指针,指向字符串的起始位置。
    区别:字符数组占用一块连续的单元,而字符指针只占用所指地址单元。
    动态内存分配
    malloc动态申请内存

    二级指针、行指针

    二级指针:
    类型名** 变量名;
    例:
    int a = 10;
    int* p = &a;
    int** p = &p;
    a、* p、** p代表同一个单元,它们的值相同
    理论上,可以定义任意多级指针,但实际中很少超过二级,避免指针级数过多造成理解错误,使程序可读性降低。
    行指针:int(p)[n]; p = a;
    p + i表示第i行的首地址a[i],二级指针
    a[i][j] = ((p + i) + j) = (
    (p + i))[j] = p[i][j];

    指针数组及其应用

    int *p;
    int i;
    char *pch[6]={"1","2","3","4","5","6"};
    for(i=0;i<6;i++)
    printf("%s",pch[i]);

    指针做函数返回值及其注意:

    局部变量在指针返回时会消失。
    1.2 本章学习体会
    模模糊糊,基本应用会了,但是用到具体的题目中又不会用。
    代码量马马虎虎500左右。

    2.PTA实验作业(7分)

    2.1 题目名1

    2.1.1 伪代码

    for(1-n)将指针变量逆序赋值给数组a
    for(1-n)将数值赋值会给指针,由指针返回值(数组将被销毁,无法返回值)

    2.1.2 代码截图

    2.1.3 总结本题的知识点

    函数中利用指针可返回值,而数组等在函数结束时会销毁,无法得到值。

    2.1.4 PTA提交列表及说明

    提交列表说明:

    1.编译错误:指针在函数中运用是没有规范,出现编译错误,在vs中调试后正确。

    2.2 题目名2

    2.2.1 伪代码

    while(low<high)如果mid等于key,返回值,否则不断缩小low,high范围得到答案。

    2.2.2 代码截图

    2.2.3 总结本题的知识点

    2分查找,不断缩小范围,利用指针来传输数据以及返回值。

    2.2.4 PTA提交列表及说明


    编译错误:没定义好
    答案错误:count的返回值没弄好
    部分正确:count的返回值没弄好,就对了错误的测试点,后来发现用指针count返回值。
    答案正确:。。。

    2.3 题目名3

    2.3.1 伪代码

    for遍历数组找出最大值
    交换位置
    同样方法找出次大值交换位置

    2.3.2 代码截图

    2.3.3 总结本题的知识点

    利用指针遍历来找最大值

    2.3.4 PTA提交列表及说明


    编译错误:第一次忘记定义i,第二次忘记函数返回值。
    答案正确:。。。。。

    3.阅读代码(-2--1分)


    代码功能:输入一个字符串和一个子串,找到并删除字符串中的所有子串。
    作者脑回路清奇,方法厉害,代码很简单就做出来了,一句卧槽足以看出作者之牛逼。

  • 相关阅读:
    [BUUOJ记录] [强网杯 2019]随便注(三种方法)
    Content Security Policy (CSP)内容安全策略总结
    [HGAME Week2] Cosmos的博客后台
    [BUUOJ记录] [ACTF2020 新生赛]Include
    PHP弱类型hash比较缺陷
    CTF常见源码泄漏总结
    Sqlmap Tamper绕过脚本详解
    Golden Pyramid
    Prime Palindrome Golf
    Min and Max
  • 原文地址:https://www.cnblogs.com/you-18250630840/p/12051848.html
Copyright © 2020-2023  润新知