zoukankan      html  css  js  c++  java
  • C语言学习指针补充

    #include <stdio.h>
    int main()
    {
        int a[5]={1,2,3,4,5};
        int *p=&a[3];   //这里p指向数组第四个元素4的起始地址。
        *p=100;
        printf("%d
    ",*p++);//先取p指向的值100将指针p自增1;
        printf("%d
    ",*p--);//
    printf(
    "%d ",*--p);//先将指针p自减1,再取指向的值 return 0; } // 100 5 3

    *p++、(*p)++、*++p、++*p 的区别

     int a[5]={1,2,3,4,5};
    int *p = a;

    *p++ 先取指针p指向的值(数组第一个元素1),再将指针p自增1

    cout << *p++; // 结果为 1

    cout <<(*p++); // 1

    (*p)++ 先去指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2
    cout << (*p)++; // 1
    cout <<((*p)++) //2
    *++p 先将指针p自增1(此时指向数组第二个元素),* 操作再取出该值

    cout << *++p; // 2
    cout <<(*++p) //2

    ++*p 先取指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2)
    cout <<++*p; // 2
    cout <<(++*p) //2

    注意,上面的每条cout输出,要单独输出才能得到后面的结果。
    字符串与指针
    #include <stdio.h>
    int main()
    {
        char buffer[10]="ABC";
        char *pc;
        pc="hello";
        printf("%s
    ",pc);
        pc++;
        printf("%s
    ",pc);
        printf("%c
    ",*pc);
        pc=buffer;
        printf("%s
    ",pc);
        return 0;
     } 

    #include <stdio.h>
    int main()
    {
        int a[4]={1,3,5,7};
        printf("%p
    ",a);
        printf("%p
    ",a+1);
        printf("%p
    ",&a);
        printf("%p
    ",&a+1);
        printf("%p
    ",*(&a));
        printf("%p
    ",*(&a)+1);
        return 0;
    }

  • 相关阅读:
    CSS盒子模型
    getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
    MYSQL中的CASE WHEN END AS
    单点登录的精华总结
    git&github
    June 21st 2017 Week 25th Wednesday
    June 20th 2017 Week 25th Tuesday
    June 19th 2017 Week 25th Monday
    June 18th 2017 Week 25th Sunday
    June 17th 2017 Week 24th Saturday
  • 原文地址:https://www.cnblogs.com/guoweilf/p/11566035.html
Copyright © 2011-2022 走看看