zoukankan      html  css  js  c++  java
  • c语言指针与结构体

    *:指针运算符,指向对象的值(地址的指令

    &:取地址运算符,(物理地址,实际地址

    size of:用于获取变量或者数据类型的长度                                         

    只有相同类型的指针变量才能相互赋值

    空指针用NULL

    字符串结束标志''

    1.指针交换

    从键盘输入两个整数到a、b,按由大到小输出

    #include<stdio.h>

    void main( )

    {

    int a,b,*pa=&a,*pb=&b,*p;                          /*定义指针变量pa、pb,并进行初始化*/

    scanf("%d%d",&a,&b);

    if(*pa<*pb)

    p=pa;                                                           /*进行指针交换*/

    pa=pb;

    pb=p;

    }

    printf(" a=%d,b=%d ",a,b);

    printf(" max=%d,min=%d",*pa,*pb);        /*pa指向大数,pb指向小数*/

    }

    二级指针的定义:数据类型      * *指针变量(int a,*p,**pp;)

    一级指针与二级指针的区别:p直接指向a(p=&a),*p是一级指针引用;pp直接指向p,再通过p指向a,pp间接指向a,**p是二级指针(pp只能指向指针变量)

    指针函数的定义:类型标识符   *函数名(形式参数表)【int  *fun(int a,int b)       {函数体语句}】

    返回指针或地址语句:return(& 变量名);或 return(指针变量)

    住:指针函数的返回值一定是地址,并且返回值的类型要与函数类型一致

    字符串函数strcat( ),strcpy( )

    动态存储分配函数malloc( ),calloc( )

    指向函数的指针变量的定义:类型标识符  (* 指针变量名)();【int     (*p)();

  • 相关阅读:
    Dbzoj#3188. [Coci 2011]Upit
    P1903 [国家集训队]数颜色 带修改莫队板子
    P2045 方格取数加强版
    P1402 酒店之王
    P4151 [WC2011]最大XOR和路径
    Orz YYB!
    Atcoder2167 Blackout
    P2939 [USACO09FEB]改造路Revamping Trails
    博弈论简单入门sb总结
    P3592 [POI2015]MYJ
  • 原文地址:https://www.cnblogs.com/296389183yy/p/10533492.html
Copyright © 2011-2022 走看看