zoukankan      html  css  js  c++  java
  • C语言指针,你还觉得难吗?

    在研究式学习-c语言程序设计指针式这样介绍的:

    内存中存储变量的第一个单元的地址 称为指针,存放指针的变量称为指针变量;

    变量的访问方式有:

    直接访问方式:按变量名查找其首地址

    间接访问方式:通过指针访问

    int swap(int p,int q)
    {
    int temp;
    temp=p;
    p=q;
    q=temp;
    }

    如果要用引用的话,也可以实现两个数的交换;

    例如:

    int swap(int &p,int &q)
    {
    int temp;
    temp=p;
    p=q;
    q=temp;
    }

    现在理解了这个函数为什么要用指针了;

    因为C语言中实参变量和形参变量之间的数据传递是单向的值传递方式,虽然运用指针被调函数不能改变实参指针变量的值,但可以改变实参指针变量指向的变量的值;从而实现值的交换;

    指针指向函数的入口地址:p=swap

    一维数组与指针:

    指针指向数组时的运算:指针加上(减去)一个整数,得到的结果仍然是指针;表示移动位置;

    自增和自减运算:

    int a[10],*p=&a[3];

    自增和自减的优先级大于*

    指针实习字符串的操作:

    *s!=''

    测试字符串长度的函数:

    while(*s++)

    len++;

    字符串复制函数:

    while((*dest++=*src++)!='')

    字符数组中的字符串逆序存放:

    #include <stdio.h>
    #include <STRING.H>
    void srev(char *s)
    {

    char *head=s,*tail;
    char temp;
    tail=s+(strlen(s)-1);
    while (head<tail)
    {
    temp=*tail;
    *tail=*head;
    *head=temp;
    head++;
    tail--;

    }
    }
    void main()
    {
    char test[]={"hello word"};
    printf("%s ",test);
    srev(test);
    printf("%s ",test);


    }

    用指针实现数据的动态管理:

    采用动态的可变的数据结构

  • 相关阅读:
    Unity3d资源管理分析
    Unity3D之MonoBehaviour的可重写函数整理
    Unity3D脚本学习——运行时类
    A*寻路初探(转载)
    360sdk网游支付服务
    总结使用Unity 3D优化游戏运行性能的经验
    Unity3D之Lightmap详解
    「luogu2714」四元组统计
    「BZOJ1066」[SCOI2007]蜥蜴
    「luogu1251」餐巾计划问题
  • 原文地址:https://www.cnblogs.com/wbtn6262/p/3783715.html
Copyright © 2011-2022 走看看