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

指针的注意和细节

相关推荐
luj_17682 小时前
星火科技助力边远地区防病攻坚
c语言·开发语言·c++·经验分享·算法
always_TT2 小时前
【Python 日志记录:logging 模块入门】
开发语言·python·php
画面无声2 小时前
STM32的SPI通信原理与练习记录
c语言·stm32·单片机·嵌入式硬件·学习
xcLeigh2 小时前
Go入门:变量声明的五种方式详解
java·开发语言·golang
weixin_456808383 小时前
【沁恒蓝牙开发】IAP升级流程
c语言·单片机·嵌入式硬件
zmzb01033 小时前
C++课后习题训练记录Day175
开发语言·c++
脱胎换骨-军哥3 小时前
C++ 代码规范与格式化指南
开发语言·c++·代码规范
枕星而眠4 小时前
C++ STL Map容器完全指南:从有序红黑树到无序哈希表
java·开发语言
geats人山人海5 小时前
数据结构第六章c语言 树的存储下二叉树的概念和存储
c语言·数据结构·算法
爱吃牛肉的大老虎5 小时前
Rust对象之结构体,枚举,特性
开发语言·后端·rust