• C 指针运算 指针访问数组


    #include<stdio.h>

    int main(void)
    {
        //指针的运算
        int * p;
        p = NULL;       //表示是个空指针
        p++;            //p = p + 1,p的值是0加上sizeof(int)*1
        printf("加运算:%d ",p);     //结果是4,因为int类型占用4个字节

        p = (int*)10;
        p = p - 2;      //10 - sizeof(int) * 2 ====>10 - 4*2 = 2
        printf("减运算:%d ",p); 

        //指针访问数组
        int li[10] = {1,2,3,4,5,6,7,8,9,0};
        int * pi;
        pi = li;    //数组名其实就是个指针,存的是数组的起始地址,也就是第一个元素的地址
        for(int i = 0;i < 10; i++)
        {
            printf("%d,%d,%d ", &li[i], li[i],pi[i]);      //下标法,传统方式
        }

        for(int i = 0;i < 10; i++)
        {
            printf("%d,%d ", pi + i, *(pi + i));  //通过指针计算元素地址,然后取值
        }


        for(; pi < (li+10); pi++)
        {
            printf("指针指向当前数组元素:%d,%d ",pi,*pi);      //直接指向当前数组元素
        }

        printf("%d,%d",pi,*pi);        //注意的是,因为上面例子是通过指针运算取值,结果现在的指针pi已经不是指向原先数组的地址了






        return 0;
    }
  • 相关阅读:
    C++ std::stack 基本用法
    linux6 安装 ntopng
    linux 6安装 redis2.6
    Linux6搭建Tomcat服务器
    EXSI6.5忘记root密码
    python3笔记--数字
    python3笔记--运算符
    python3基本数据类型
    python3笔记
    centos6.X升级python3.X方法
  • 原文地址:https://www.cnblogs.com/hemage/p/13255561.html
Copyright © 2020-2023  润新知