首页 > 其他分享 >C指针——知识点集锦

C指针——知识点集锦

时间:2023-04-15 15:44:48浏览次数:41  
标签:知识点 arr 变量 int 数组 地址 集锦 指针

  • CPU 访问内存时需要的是地址,而不是变量名和函数名!变量名和函数名只是地址的一种助记符,当源文件被编译和链接成可执行程序后,它们都会被替换成地址。编译和链接过程的一项重要任务就是找到这些名称所对应的地址。
  • 变量名表示的是数据本身,而函数名、字符串名和数组名表示的是代码块或数据块的首地址。
  • 指针变量:如果一个变量存储了一份数据的指针(地址)
    1. int a = 100;
    2. int *p_a = &a;
  • 在定义指针变量 p_a 的同时对它进行初始化,并将变量 a 的地址赋予它,此时 p_a 就指向了 a。值得注意的是,p_a 需要的一个地址,a 前面必须要加取地址符&,否则是不对的。
  • 定义指针变量时必须带*,给指针变量赋值时不能带*
  • 指针变量存储了数据的地址,通过指针变量能够获得该地址上的数据,格式为:*pointer   (解引用)
  • 指针变量的加减法:pa、pb、pc 每次加 1,它们的地址分别增加 4、8、1,正好是 int、double、char 类型的长度;
  • a 的类型为 int,占用 4 个字节,pa 是指向 a 的指针,如图所示:

     

     

  •  如果pa++,则:

  •  

  • // 数组名可以认为是一个指针,它指向数组的第 0 个元素
    int arr[] = { 99, 15, 100, 888, 252 }; int len = sizeof(arr) / sizeof(int); //求数组长度 int i; for(i=0; i<len; i++){ printf("%d ", *(arr+i) ); //*(arr+i)等价于arr[i] }

    // 我们使用了*(arr+i)这个表达式,arr 是数组名,指向数组的第 0 个元素,表示数组首地址, arr+i 指向数组的第 i 个元素,*(arr+i) 表示取第 i 个元素的数据,它等价于 arr[i]。
  •  

     

     

标签:知识点,arr,变量,int,数组,地址,集锦,指针
From: https://www.cnblogs.com/spacerunnerZ/p/17321244.html

相关文章

  • 【编程工具__收录】知识点及疑难杂症
    GitIDEA如何将Git回退到某个版本springMvcxxxxx......
  • Java基础知识点内部类之局部内部类和匿名内部类
    一:局部内部类1概述:将内部类定义在方法里面就叫做局部内部类。类似于方法里面的局部变量。2.注意点:外界无法直接使用,需要在方法内部创建对象并使用。3.该类可以直接访问外部类成员,也可以访问方法内的局部变量。publicclassOuter{publicstaticvoidshow(){......
  • K8S-StorageClass资源-实践【补充知识点】
    Kubernetes学习目录1、准备工作1.1、官方文档支持的存储制备器:https://kubernetes.io/zh-cn/docs/concepts/storage/storage-classes/#provisionerNFSprovisioner:https://kubernetes.io/zh-cn/docs/concepts/storage/storage-classes/#nfs1.2、nfs-subdir-external-pro......
  • 开发中需要知道的相关知识点:什么是 OAuth 2.0 授权码授权类型?
    OAuth详解<2>什么是OAuth2.0授权码授权类型?授权代码授权类型可能是您将遇到的最常见的OAuth2.0授权类型。Web应用程序和本机应用程序都使用它在用户授权应用程序后获取访问令牌。这篇文章是我们探索常用的OAuth2.0授权类型系列文章的第一部分。如果您想在深入了解OAut......
  • 开发中需要知道的相关知识点: 什么是 OAuth 2.0 密码授予类型?
    OAuth详解<3>什么是OAuth2.0密码授予类型?OAuth2.0密码授权类型是一种在给定用户名和密码的情况下获取访问令牌的方法。它通常仅由服务自己的移动应用程序使用,通常不提供给第三方开发人员。这篇文章是我们探索常用的OAuth2.0授权类型系列文章的第三篇。之前我们介绍了授权......
  • 会计知识点
    会计知识点1利润表1.1利润表​当期损益指损益类科目的当期的发生额,即净利润。2资产类2.1现金方式取得金融资产的核算科目:交易性金融资产核算-其他货币资金长期债券投资-银行存款债权投​资-银行存款​长期股权投资-银行存款2.2无形资产摊销额按照受益对象计入相......
  • web空指针报500错误
     循环遍历数据遇到空指针,调试,发现转发没错,取出现问题。  后想起,需要先将数据查询,使得先进行转发再取,之前是直接取,所以为空。 将web配置后可行。 ......
  • 常量指针 指针常量 const修饰的指针常量
    常量指针指针指向的值不可以修改,指针的指向可以修改指针常量指针指针的指向不可以修改,指针指向的值可以修改const修饰的指针常量指针指向的值和指针的指向均不可以修改指针常量和const修饰的指针常量必须初始化,而常量指针不必初始化1constint*p1;2int*constp2;//错......
  • C语言-指针
    C语言-指针指针是C语言中广泛使用的一种数据类型。运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构;能很方便地使用数组和字符串;并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。学习指针是学习C语言中最重要的一环,......
  • 前端小知识点扫盲笔记记录8
    前言我是歌谣放弃很容易但是坚持一定很酷今天继续对前端知识的小结命令模式宏命令<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="......