C语言指针快速入门

指针的基本介绍

简单的说指针用于表示地址,存放的是一个地址

获取指针的地址

复制代码
//指针的入门
#include <stdio.h>

int main() {
  int num = 1;
  //num的地址是多少
  //说明1:如果要输出一个变量的地址使用的格式是%p
  //说明2:&num 表示取出num这个变量对应地址
  printf("num的值是=%d num 地址 =%p",num,&num);
  
  getchar();
}


获取num值的本质是通过变量找到变量对应的地址,在从地址找到空间把值取出来。

修改指针的指向地址

复制代码
//指针的入门
#include <stdio.h>

int main() {
  int num = 1;
  //num的地址是多少
  //定义一个指针变量
  //1.int*表示类型为指针类型(执行了一个int类型的指针)
  //2.名称ptr介绍一个in*类型
  //3.ptr指向了一个int类型的变量
  int*ptr=&num;
  //说明1:如果要输出一个变量的地址使用的格式是%p
  //说明2:&num 表示取出num这个变量对应地址
  printf("num的值是=%d num 地址 =%p",num,&num);
  
  //指针变量,本身也有地址
  printf("\nptr的地址是%p",&ptr);
  getchar();
}

num的值是=1 num 地址 =0x7ffc7fc18f2c

ptr的地址是0x7ffc7fc18f20

printf("\nptr的地址是%p ptr存放的值是一个地址为%p",&ptr,ptr);

ptr这个空间存储的值是num的指针地址

复制代码
  //1.指针变量,本身也有地址 &ptr
  //2.指针变量,存放的地址 ptr
  //3.获取指针指向的值 *ptr

  printf("\nptr的地址是%p ptr存放的值是一个地址为%p,prt指向指针的值=%d",&ptr,ptr,*ptr);
  getchar();

num的值是=1 num 地址 =0x7ffffffde52c

ptr的地址是0x7ffffffde520 ptr存放的值是一个地址为0x7ffffffde52c,prt指向指针的值=1

指针修改对应的关系

复制代码
//指针的入门
#include <stdio.h>

int main() {
    int num=88;
    int *ptr=&num;
    //通过ptr去修改num的值,变量的值也相应的被修改了
    //取出*ptr存放的这个地址对应变量的值
    *ptr=99;
    printf("num的值=%d num的地址=%p",num,&num);
    printf("\nnum的值是=%d num的地址是=%p",num,&num);
    getchar();
    
}

指针的注意和细节

相关推荐
潇潇云起1 分钟前
mapdb
java·开发语言·数据结构·db
prettyxian4 分钟前
【QT】信号与槽基础:手动连接的原理与实践
开发语言·qt
傻乐u兔6 分钟前
C语言初阶————结构体
c语言·开发语言
weixin_445054726 分钟前
力扣热题52
开发语言·python
逑之9 分钟前
C语言笔记2:C语言数据类型和变量
c语言·开发语言·笔记
何中应10 分钟前
@Autowrited和@Resource注解的区别及使用场景
java·开发语言·spring boot·后端·spring
源代码•宸11 分钟前
Golang语法进阶(Context)
开发语言·后端·算法·golang·context·withvalue·withcancel
一条咸鱼_SaltyFish12 分钟前
[Day16] Bug 排查记录:若依框架二次开发中的经验与教训 contract-security-ruoyi
java·开发语言·经验分享·微服务·架构·bug·开源软件
源代码•宸12 分钟前
Golang语法进阶(Sync、Select)
开发语言·经验分享·后端·算法·golang·select·pool
一勺菠萝丶14 分钟前
Java 对接 PLC 实战:西门子 PLC 与永宏 PLC 通讯方式全面对比
java·开发语言·python