zoukankan      html  css  js  c++  java
  • C语言-指针

    初始换赋值
    存储类型 数据类型*指针变量名 = 初始化地址
    例:
        int i;
    int*p=&i;    p就是i的地址
     
    int I;
    int*p=&i;
    int*q=p;    p也可以等于q作为地址
     
    //内存地址...内存中存储的编号
    #include <stdio.h>

    int main(int argc, const char * argv[]) {
       
    //    指针的声明
        int *p1;//声明了一个指向整型空间的指针变量  *号位置不作严格要求 int* p;
        float *p2;// 声明一个指向实型空间的指针变量
        char *p3;//声明了一个指向字符型空间的指针变量
       
        int a=12;
        float b=3.14;
        char c='m';
       
    //    指针的赋值
        p1 = &a;//指针平指向了整型空间a
       
        p2=&b;//指针平指向了实型型空间b
        p3=&c;//指针平指向了字符型空间c
       
       
        printf("%d ",*p1);//  *p1 表示取指针p1指向的空间的值=12
       
       
        int array[5]={1,2,3,4,5};//数组名array表示数组的首地址(第一个元素的地址)
    //    printf("%p ",array);
    //    printf("%p ",&array[0]);
    //    printf("%p ",&array[1]);  //数组间占据字符4
    //
    //    int* p4;
    //    p4=array;//完全成立,可以赋值
    //   
    //    char name[3]={'i','o','s'};//字符数组
    //    char name0[4]={'i','o','s',''};//字符串
    //   
       
        for (int i=0; i<5; i++)
        {
           
            *(array+i)=i+100;//指针和i进行相加运算时,表示指针向后挪,指向下一内存单元
        }
       
        for (int i=0; i<5;i++ )
        {
            printf("%d ",array[i]);
        }
     
    、、、、、、、、、、、、、、、、、、、、、
     
    void exChange(int a,int b)
    {
        int *p1;
        p1=&a;
        *p1=b;//把a的地址p1指向b,b的值赋给a的地址代表的数,a没了
      

       
        printf("%d %d",a,b);
       ********************************
     
    void exChange(int *a,int *b)
    {
        int c;  //c是中间量,用来存放*a的值,再赋给*b的值
        c=*a;
        *a=*b;   //赋值的顺序不能变
        *b=c;
        //把a的地址p1指向b,b的值赋给a的地址代表的数,a没了
      

       
       
       }

    int main(int argc, const char * argv[]) {
       
       
       
        int a=33,b=44;
        exChange(&a, &b);//函数的调用过程中,如果传递的参数只是普通的(非指针)变量值,只是相当于拷贝了一份数据给函数的参数,对当期函数里面的变量值,没有任何影响
        printf("%d %d",a,b);
        
  • 相关阅读:
    1 slow requests are blocked > 32 sec解决方法
    centos7下搭建ceph luminous(12.2.1)--无网或网络较差
    防止集群数据恢复设置
    ceph:health_warn clock skew detected on mon的解决办法
    Windows下判断jdk是否安装好以及环境变量是否配置好
    卸载Myeclipse10.5 报错“an error has occured.See the log file ...Uninstaller...”
    转: Laravel 自定义公共函数的引入
    windows下安装composer
    PHP与.Net的区别(一)接口
    phpStorm+XDebug配置
  • 原文地址:https://www.cnblogs.com/shuxiachahu123/p/4911162.html
Copyright © 2011-2022 走看看