zoukankan      html  css  js  c++  java
  • 1. 指针

    1. 指针变量的声明,赋值分步

      #include<stdio.h>                                                                                   
      int main(){
          int a = 1;
          int *ip;     //声明指针变量ip
          ip = &a;     //ip指向a的地址
          *ip=2;       //更改ip指向地址的值就是更改a的值
          printf("%d",a);
          return 0;
      }
      
      
    2. swap函数

      #include<stdio.h>                                                                                   
      void myswap(int* a,int* b){    // 掉用的函数声明在上面,避免出现gcc警告
          int tmp = *a;
          *a = *b;
          *b=tmp;
      }
       
      int main(){
          int a = 1,b = 2;
          myswap(&a,&b);    //传入的是参数的地址
          printf("%d",a);   //2
          printf("%d",b);   //1
      }
      ~         
      
    3. 指针操作数组(比直接操作数组速度快)

      #include<stdio.h>                                                                                   
      int main(){
          int arr[] = {1,2,3,4,5};
          int *p = arr;             //用书组名赋值给指针变量,指针变量指向数组第一个元素
          int *q = &arr[1];
          printf("%d",*p);          //1
          printf("%d",*q);          //2
          printf("%d",*(q+2));      //arr[1]向后2个元素
      }
      
      
    4. strlen的c指针实现

      #include<stdio.h>                                                                                   
      int mystrlen(char *s){
          int n=0;
          for(;*s != '';s++){  //字符串是结尾,字符数组结尾没有
              printf("&s: %p char:%c 
      ", s, *s);
              n++;
          }
          return n;
      }
      int main(){
          char ch[] = {'a','s','d','f'};
          //printf("%d
      ",mystrlen("hello world"));          //11
          printf("%p
      ", ch);                 
          printf("%d",mystrlen(ch));          //(ch+1)的指针位置就是0x7ffc8427a701,同时,指代0x7ffc8427a701位置后的所有数组元素
      }
      /**
          0x7ffc8427a700     // 可以看出,数组名指针变量确实和数组第一个元素的指针位置相同
          &s: 0x7ffc8427a700 char:a 
          &s: 0x7ffc8427a701 char:s 
          &s: 0x7ffc8427a702 char:d 
          &s: 0x7ffc8427a703 char:f 
          &s: 0x7ffc8427a704 char:� 
          &s: 0x7ffc8427a705 char: 
      */
      
  • 相关阅读:
    02-35 scikit-learn库之支持向量机
    C#当中的out关键字(借鉴于CSDN)
    Uploadify上传大文件
    EF-基础用法
    第一节:EasyUI样式,行内编辑,基础知识
    Compute和Linq的Field使用
    leetcode-15. 三数之和-OK
    C#启动时全屏显示窗体...
    C#启动时全屏显示窗体...
    leetcode-1117. H2O 生成
  • 原文地址:https://www.cnblogs.com/72808ljup/p/5608023.html
Copyright © 2011-2022 走看看