zoukankan      html  css  js  c++  java
  • C语言指针(一)

    注意:对指针进行加减操作 比如++ 或--之后,指针的值并不是加1或减1,而是根据数据类型字节数的不同移动了不同的字节数

    1.指针是一个变量,可以表示数据(整型浮点型字符型)以及函数在内存中的位置。

    2.声明指针的格式 type * var-name 类型是指针所指向的数据的类型。

    3.对一个数据取指针 & 符号,取出后付给 指针 var-name 

    4.想要得到指针所指向的内容用 *var-name

    实例1:声明指针:

    int    *ip;    /* 一个整型的指针 */
    double *dp;    /* 一个 double 型的指针 */
    float  *fp;    /* 一个浮点型的指针 */
    char   *ch     /* 一个字符型的指针 */

    实例2 :声明指针 、取指针 、访问指针所指对象

    #include <stdio.h>
    
    int main ()
    {
       int  var = 20;   /* 实际变量的声明 */
       int  *ip;        /* 指针变量的声明 */
    
       ip = &var;  /* 在指针变量中存储 var 的地址 */
    
       printf("Address of var variable: %x
    ", &var  );
    
       /* 在指针变量中存储的地址 */
       printf("Address stored in ip variable: %x
    ", ip );
    
       /* 使用指针访问值 */
       printf("Value of *ip variable: %d
    ", *ip );
    
       return 0;
    }

    实例3:递增一个指针

    #include<stdio.h>constint MAX =3;int main (){intvar[]={10,100,200};int  i,*ptr;/* 指针中的数组地址 */
       ptr =var;for( i =0; i < MAX; i++){
    
          printf("Address of var[%d] = %x
    ", i, ptr );
          printf("Value of var[%d] = %d
    ", i,*ptr );/* 移动到下一个位置 */
          ptr++;}return0;}

    打印结果:

    Address of var[0]= bf882b30
    Value of var[0]=10Address of var[1]= bf882b34
    Value of var[1]=100Address of var[2]= bf882b38
    Value of var[2]=200

    实例4:指针的遍历

    #include<stdio.h>constint MAX =3;int main (){intvar[]={10,100,200};int  i,*ptr;/* 指针中第一个元素的地址 */
       ptr =var;
       i =0;while( ptr <=&var[MAX -1]){
    
          printf("Address of var[%d] = %x
    ", i, ptr );
          printf("Value of var[%d] = %d
    ", i,*ptr );/* 指向下一个位置 */
          ptr++;
          i++;}return0;}

    打印结果:

    Address of var[0]= bfdbcb20
    Value of var[0]=10Address of var[1]= bfdbcb24
    Value of var[1]=100Address of var[2]= bfdbcb28
    Value of var[2]=200


  • 相关阅读:
    mongodb管理命令
    面试阿里巴巴前端开发工程师电话面试部分
    前端常用性能优化方法
    面试阿里巴巴前端开发工程师笔试部分
    javascript 实现无重复字符的最长子串
    自定义 Flutter 插件(flutter_3des_plugin)步骤,以及上传插件的那些坑。
    Flutter 实现 3des 加密
    flutter 优雅的版本更新处理
    flutter_blue 蓝牙插件实战及那些坑
    Flutter 总结apk打包上架问题(keystore,依赖包下载报错,apk文件项目请求报错等)
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/6804690.html
Copyright © 2011-2022 走看看