zoukankan      html  css  js  c++  java
  • 作业10总结

    一、知识点总结:
    1、指针变量的定义:
    1)一般形式为:
    类型名: *指针变量名;

    ※在定义指针变量时,应注意以下几点:
    ①类型名指定指针变量所指向变量的类型,必须是有效的数据类型)。
    ②定义多个指针变量时,每一个指针变量前面都必须加上*。
    ③指针变量的类型不是指指针变量本身的类型,而是指它所指向的变量的数据类型。
    ④无论何种类型的指针变量,他们都是用来存放地址的。
    ⑤在定义指针变量时需要使用指针声明符*,但指针声明符并不是指针的组成部分。例如,定义int=*p; 说明p是指针变量,而不是*p。

    2)指针的赋值:
    指针变量被定义后,必须将指针变量和一个特定的变量进行关联后才可以使用。即,应先赋值再使用(赋的值为地址)。
    假设有定义

    int i,*p;
    /*下面的语句可以对指针变量p赋值*/
    p=&i;
    p=0;
    p=NULL;
    p=(int*)1732

    2、几种指针表达式:
    *p:指针变量p所指向的变量。
    如表达式*p=*p+1、++*p、(*p)++,都是将指针p所指向变量的值加1、
    而表达式*p++等价于*(p++),先取*p的值作为表达式的值,再将指针p的值加一,运算后,p不在指向当前变量。

    3、说明:
    (1)当p=&a后,*p与a相同。
    (2)int *p;定义指针变量p
    *p=10;指针p所指向的变量,即a。
    (3)&*p与&a相同,是地址
    *&a与a相同,是变量

    4、通过指针改变变量的值:
    (1)改变指针所指向变量的值

    #include<stdio.h>
    int main()
    {
        int a=1,b=2,c;
        int *p1,*p2;
        p1=&a;
        p2=&b;
        printf("a=%d b=%d *p1=%d *p2=%d",a,b,*p1,*p2);
        printf("
    ");
        c=*p1;
        *p1=*p2;
        *p2=c;
        printf("a=%d b=%d *p1=%d *p2=%d",a,b,*p1,*p2);
        return 0;    
    }

    (2)改变指针的指向

    #include<Stdio.h>
    int main()
    {
        int a,b,c,*p1,*p2;
        a=2;
        b=4;
        c=6;
        p1=&a;
        p2=&b;
        printf("a=%d b=%d c=%d *p1=%d *p2=%d
    ",a,b,c,*p1,*p2);
        p2=p1;
        p1=&c;
        printf("a=%d b=%d c=%d *p1=%d *p2=%d
    ",a,b,c,*p1,*p2);
        return 0;
    }

    (3)改变指针的指向

    #include<Stdio.h>
    int main()
    {
        int a=1,b=2;
        int *p1=&a,*p2=&b,*pt;
        printf("a=%d,b=%d,*p1=%d,*p2=%d
    ",a,b,*p1,*p2);
        pt=p1;
        p1=p2;
        p2=pt;
        printf("a=%d,b=%d,*p1=%d,*p2=%d
    ",a,b,*p1,*p2);
        return 0;
    }

    5、指针作为函数的参数:
    在函数main()中调用函数时,将变量的地址作为实参,在被凋函数中用形参指针分别接收地址,并改变了形参所指向变量的值。

    二、实验过程中遇到的问题及解决方法:
    此次实验是对指针的初步使用,将指针作为函数的参数,不是很了解指针作为函数的参数如何使用,看了书上的解释,例题就明白了。

    三、实验心得:
    我们初步学习了指针,作为c中的难点部分应在课下多下功夫,多看书,多练习,多巩固。为今后的学习打下牢固的基础。

  • 相关阅读:
    岳麓山岳麓书院
    花洲书院
    《诫子书》诸葛亮
    AI ML DL
    台湾大学林轩田机器学习基石
    LeNet
    VGGNet
    AlexNet 2012
    AS 中 Plugin for Gradle 和 Gradle 之间的版本对应关系
    AndroidStudio、gradle、buildToolsVersion关系
  • 原文地址:https://www.cnblogs.com/lang-langang/p/6105861.html
Copyright © 2011-2022 走看看