• C指针——简单总结


    简介:

      指针变量在使用前,必须指向具体的有效的内存单元    

      指针变量在使用前不但要定义还要初始化

      四个方面:指针的类型,指针指向的类型,指针的值或者指针所指向的内存区,指针本身所占的内存区

     int *ptr;//指针的类型是 int* ;指针指向的类型是 int ;32位长,指针指向了首地址;sizeof
    

     

    &地址运算符   *取值运算符

    int a =12;int b ;int *p ; int **ptr;
    p = &a;  //&a结果是一个指针,类型是int*;指向的类型是int,指向的地址是a的地址;
    *p =12;
    ptr = &p;
    *ptr =&b;  //*ptr是个指针,&b的结果也是个指针
    **ptr =24; //*ptr的结果是ptr所指向的东西,在这里是一个指针,对这个指针在做一次*运算,结果是个int类型的变量
    

    指针的算术运算

    char a[20];       
    int *ptr=(int *)a;   // 注意数组a为char,指针指向的类型是int
    ptr++;
    

      

    数组指针与指针数组

       假设一个数组str[5],str[0]是数组的第一个元素,数组名str就是数组元素str [0]的地址,所以str与&str[0]指向同一内存单元

       字符串处理有两种方式,一种是数组形式,一种是指针形式,数组名代表存放在数组空间的首地址

    函数指针与指针函数

    要在被调用函数中改变主调函数的变量值,就得把主调函数中的变量的指针作为实参,传递给被调函数,仅仅传递变量值是没有作用的。

    函数指针 数据类型 *变量名)();    

      用来指向某个函数,但是具体指向那个函数要看使用前函数指针指向那个函数

    void (*p_output)(); 
    p_output=output; 
    (*p_output)();  //通过指针变量调用函数  
    return 0;

    指针函数 数据类型  *变量名();

      返回值是指针的函数,()的优先级比*大,所以变量名先与()结合再与*结合

      函数指针就是函数的地址;指针函数就是返回值为指针的函数

  • 相关阅读:
    CSS边框(圆角、阴影、背景图片)
    CSS3浏览器兼容
    HTML5全局属性
    HTLM5新增属性
    HTML5标签
    如何开始使用bootstrap
    重新了解Java基础(三)-运行机制&HelloWorld
    重新了解Java基础(二)-Java的特性
    Java关键字之native
    重新了解Java基础(一)
  • 原文地址:https://www.cnblogs.com/happying30/p/9336366.html
Copyright © 2020-2023  润新知