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();
    
}

指针的注意和细节

相关推荐
侃侃_天下4 小时前
最终的信号类
开发语言·c++·算法
echoarts4 小时前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Aomnitrix4 小时前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
每天回答3个问题5 小时前
UE5C++编译遇到MSB3073
开发语言·c++·ue5
伍哥的传说5 小时前
Vite Plugin PWA – 零配置构建现代渐进式Web应用
开发语言·前端·javascript·web app·pwa·service worker·workbox
小莞尔5 小时前
【51单片机】【protues仿真】基于51单片机的篮球计时计分器系统
c语言·stm32·单片机·嵌入式硬件·51单片机
小莞尔6 小时前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
liujing102329296 小时前
Day03_刷题niuke20250915
c语言
我是菜鸟0713号6 小时前
Qt 中 OPC UA 通讯实战
开发语言·qt
JCBP_6 小时前
QT(4)
开发语言·汇编·c++·qt·算法