c语言的指针的一些简单示例

本文深入探讨了C语言中指针的基本概念与高级用法,包括指针的算术运算、指向常量的指针、指向非常量的常量指针等。通过具体的代码实例,解析了指针在内存地址操作、数据类型转换及数组操作等方面的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<stdio.h>

void maina()
{
    /**
    char *names[] = {"Miller","Jones","Anderson"};
    printf("%c\n",*(*(names+1)+2));
    printf("%c\n",names[1][2]);
    */
    int i=2;
    int j=3;
    printf("%d\n,:%d\n",&i,&j);
}
void mainb()
{
    int num=4;
    int *pi = &num;

    printf("num的地址是:%d,;值是:%d\n",&num,num);
    printf("pi的地址是:%d,;值是:%d,-----%d\n",&pi,pi,*pi);
}
void mainc()
{
    int num;
    int *pi = &num;
    void *pv = pi;
    pi = (int*) pv;
    printf("pi的值: %p\n",pi);
    printf("pi的值:%p\n",pi);
}
//给指针加上一个整数实际上加的数是这个整数和指针数据类型对应字节数的乘积
void maind()
{
    short s;
    short *ps = &s;
    char c;
    char *pc = &c;
    printf("ps之前的内容:%d\n",ps);
    ps = ps+1;
    printf("ps之后的内容:%d\n",ps);
    printf("pc之前的内容:%d\n",pc);
    pc = pc+1;
    printf("pc之后的内容:%d\n",pc);
}
//从指针减去整数,地址值会减去数据类型的长度和整数值的乘积。
void maine()
{
    int vector[]={28,41,7};
    int *pi = vector+2;

    printf("%d\n",*pi);
}
void mainf()
{
    int vector[] = {28,41,7};
    int *p0 = vector;
    int *p1 = vector+1;
    int *p2 = vector+2;
    printf("p2-p0:%d\n",p2-p0);
    printf("p0-p1:%d\n",p0-p1);
    printf("p0:%d,p1:%d,*p0:%d,*p1:%d\n",p0,p1,*p0,*p1);
    printf("*p0-*p1:%d\n",*p0-*p1);
}
//指向常量的常量指针
void maing()
{
    const int limit = 500;
    const int * const cpci = &limit;
    const int * const * pcpci = &cpci;

    pcpci = &cpci;
    printf("%d\n",*cpci);
    printf("%d\n",**pcpci);
}
//指向非常量的常量指针
//可以声明一个指向非常量的常量指针,这么做意味着指针不可变,但是它指向的数据可变
void main()
{
    int num;
    /**
        以下声明表示:
        1,cpi必须被初始化为指向非常量变量。
        2,cpi不能被修改
        3,cpi指向的数据可以被修改
    */
    int *const cpi = &num;
    printf("cpi:%d====&cpi:%d====*cpi:%d/n",cpi,&cpi,*cpi);
    //*cpi = 25;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值