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);
        
  • 相关阅读:
    关于findViewById返回空指针的错误
    android客户端向服务器发送图片和文字,类似于发微博。能用json格式发送吗?
    nodejs 学习资料大全
    篇章三:[AngularJS] 使用AngularCSS動態載入CSS
    篇章二:[AngularJS] 使用AngularAMD動態載入Service
    篇章一:[AngularJS] 使用AngularAMD動態載入Controller
    Angular 资料大集合
    js-音乐播放器,播放|暂停|滑块的功能
    JS-以鼠标位置为中心的滑轮放大功能demo1
    使用 Electron 构建桌面应用(拖动控制篇)
  • 原文地址:https://www.cnblogs.com/shuxiachahu123/p/4911162.html
Copyright © 2011-2022 走看看