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

  • 相关阅读:
    dwz 嵌套网页的搜索刷新问题
    dwz 解决remote验证唯一时缓存问题。
    dwz div 局部刷新
    Oracle 递归查询子节点和父节点 函数方法
    关于未能加载文件或程序集“System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项的解决办法
    CentOS7搭建vsftp服务器
    Linux下 cmatrix的安装和使用(黑客屏保)
    配置动态web服务(wsgi)
    centos7 搭建discuz 全
    Centos7 更换为阿里源
  • 原文地址:https://www.cnblogs.com/harryzengblogs/p/14198703.html
Copyright © 2011-2022 走看看