zoukankan      html  css  js  c++  java
  • 04#认识指针

    1.什么是指针?
    {
      指针就是用来存放地址的变量
    }
    2.如何使用指针进行运算?
    {
      int a=10;
      int  *p=&a
      printf("%d",*p);
      *p=100;
      printf("%d",a);
    }
    3.什么时候使用指针?
    {
    当函数进行值传递时通过指针传递就可以实现,
    形参和实参的同步转化,从而更便捷的实现函
    数功能
    另外,在数组是不支持数组地址++运算所以
    通过将首地址赋值给指针,达到指针数组的效
    果.(数组地址不可以更改)
    }
    4.指针有几种类型?
    {
    常见的有:
        $各种数据类型对应的指针变量以及指针数组
        如:
            char *q;
            int  *p;
            short *a;
            long int *b;
            bool int *c;
            int rum[8];        int rum[];
            int *tree;    int *tree;
            定义指针数组保持相同的数组量,否则
            无法使用
        多级指针:
            用来存放指针地址的指针
            int **p=&q;
            二维数组:指针也可看做二级指针
            但是不等于二级数组就是二级指针
            所以一级指针变量和二级指针之间不可
            以直接赋值
        数组指针:用来存放数组地址的指针
            int fore[10];
            int (*poi)[10]=&fore;
            在此处poi+1就等于fore的地址加40;
        函数指针
    }
    5.使用指针有什么要求
    {
        指针的类型必须和所取地址的变量类型保持
        严格一致
    }        
    6.巧用指针案例
    {
            #include<stdio.h>//总结:数组定义时是指针,运算时是指针解引用 
            #define LIM 4
            int sumary(int a[],int b[],int c[]);
            int main()
            {
                int array1[LIM]={2,4,6,8};
                int array2[LIM]={1,0,3,6};
                int array3[LIM];
                sumary(array1,array2,array3);//将首地址传入形参数组
                int i;
                for(i=0;i<LIM;i++)
                {
                    printf("%d
    ",array3[i]);
                }
    
                return 0;
            }
            int sumary(int a[],int b[],int c[])//
            {
                for(int i=0;i<LIM;i++)
                {
                    c[i]=b[i]+a[i];
                }
                    
                //return 0;
                //a[]=*(a);
                //*(a+i)=a[i];
            }
    }    
    7.指针有哪些相同的项,哪些不同但相似的项
    {    
        *相同项
        数组首地址=数组首元素取地址
        *不同项
        数组取地址 != 数组首地址
        数组首地址加一 != 数组地址加一
    }
  • 相关阅读:
    ssm框架中的struts我的配置问题
    ssm框架web.xml中filter配置问题
    partition-list
    entity.Student@150f3932, entity.Student@1a740c6b 没有实体中的数据
    UVA 11361 Investigating Div-Sum Property
    UVA 10883 Supermean
    Gym 101081K Pope's work
    UVA 1103 How Many O's?
    HOJ 1108
    HDU 5936 朋友
  • 原文地址:https://www.cnblogs.com/lxuechao/p/12717225.html
Copyright © 2011-2022 走看看