zoukankan      html  css  js  c++  java
  • C博客作业05-指针

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

    1.1 指针定义、指针相关运算、指针做函数参数。

    1.1.1指针与指针变量的概念。

    (1)指针:内存中的一个存储单元的地址
    (2)指针变量:是一个能存放地址值的变量。

    1.1.2指针变量的定义。

    类型名  指针变量名类型说明中可取C语言的有效类型, 表示为指针型变量。如:char  c1,c2; 表示c1与c2是指针变量,其基类型是字符型。注意:指针的基类型与其所指向的变量的类型要统一。

    1.2 字符指针

    指针如何指向字符串
    将指针指向该字符串的首地址即可。
    比如:
    char a[] = "abc";

    1.3 指针做函数返回值

    具体格式是什么,注意事项。
    申明:

    void a(int *p);
    使用:

    a(p);
    函数:

    int a(int *p)
    {

    return p;
    }
    注意事项:
    用指针作为函数返回值时需要注意的一点是,函数运行结束后会销毁在它内部定义的所有局部数据,包括局部变量、局部数组和形式参数,函数返回的指针请尽量不要指向这些数据

    1.4 动态内存分配

    举例为多个字符串做动态内存要如何分配。
    原因:
    1.可以申请动态空间,节省内存;
    2.便于储存大型对象;
    3.传递指针可以不改变原来的值;
    堆区和栈区区别:
    1、栈区(stack)— 由编译器自动分配释放
    2、堆区(heap) — 一般由程序员分配释放

    1.5 指针数组及其应用

    int a[10][5];
    int (p)[5];//每行5个元素的数组指针。
    p=a;//把p指向a。

    1.6 二级指针

    A(即B的地址)是指向指针的指针,称为二级指针,用于存放二级指针的变量称为二级指针变量。
    1.7 行指针、列指针
    行指针:指的是一整行
    列指针:指的是一行中某个具体元素。
    可以将列指针理解为行指针的具体元素,行指针理解为列指针的地址。
    那么两个概念之间的具体转换是:
    *行指针----列指针
    &列指针----行指针
    a即是它的行指针,a+0表示第0行的地址,a+1表示第1行地址…
    或者可以说成&a[0]表示第0行的地址,&a[1]表示第1行的地址…
    那么a[0]+0,a[0]+1…就表示第1行第1列的地址,第1行第2列地址…
    a[1]+0,a[1]+1就表示第2行第1列地址,第2行第2列地址…

    2.PTA实验作业(7分)

    2.1 题目名1(2分)

    选择一题难度较大的题目。请认真写伪代码整理解题思路。自己代码和同学代码比较,说明各自代码特点。

    2.1.1 伪代码

    定义一个二维数组str1[4][20],输入诗
    定义一个一维数组str2[10],存放诗的尾
    判断每一行诗的长度,将最后两个字符输入到str2中,下标每次+1
    最后在str2的末尾放结束标志符
    输出str2

  • 相关阅读:
    HDU 5791 Two (DP)
    POJ 1088 滑雪 (DPor记忆化搜索)
    LightOJ 1011
    POJ 1787 Charlie's Change (多重背包 带结果组成)
    HDU 5550 Game Rooms (ccpc2015 K)(dp)
    HDU 5542 The Battle of Chibi (ccpc 南阳 C)(DP 树状数组 离散化)
    HDU 5543 Pick The Sticks (01背包)
    HDU 5546 Ancient Go (ccpc2015南阳G)
    NB-IoT的DRX、eDRX、PSM三个模式 (转载,描述的简单易懂)
    MQTT 嵌入式端通讯协议解析(转)
  • 原文地址:https://www.cnblogs.com/harryzengblogs/p/14198703.html
Copyright © 2011-2022 走看看