首页 > 其他分享 >指针基础知识(中)

指针基础知识(中)

时间:2022-12-04 21:00:25浏览次数:36  
标签:字节 int 然后 基础知识 地址 赋值 指针

上一次我们讲的那个指针基础知识上的时候说过指针两边的类型要一致,否则会出错,但是我经过查阅别的资料,发现是可以的,并且不管你是用什么类型的指针来接收定义的值的地址,都是同一个地址,下面是我打印出来的地址,可以看到这俩地址都是一样的。打印地址要用(%p)(point的缩写)

指针基础知识(中)_指针


然后真正会导致有差错的是赋值的时候,也就是说你要通过对指针赋值从而实现取地址元素的值的改变。好比我们定义一个int s=10;然后我们知道一个int型有4个字节,然后如果我们定义了一个int*p=&s, *p=2;(对p进行赋值),这时候p能访问到的也是4个字节,然后把这四个字节都改为2。

但如果你用了char* q=&s,*q=2,这时候只能改变一个一个字节的值。

指针基础知识(中)_指针_02

然后我们来验证一下是否真的是int访问4个,char访问一个,可以写俩printf,然后分别对他们进行+1,如下图

指针基础知识(中)_指针_03

p是int型,加一变成了,C而C在C语言中是12的意思,所以是跳过了4个字节,然后就是q,q是char类型,q+1的地址是q的地址+1,是一个。

下面我们将演示下如何通过对指针赋值实现对数组赋值;

指针基础知识(中)_指针_04

for循环的用处就是一个一个把数组的元素进行赋值为1,为什么不用arr【i】=*p呢?用我们老师的话就是脱裤子放屁,哈哈哈哈哈,确实不太文雅,但是确实如此,因为我们p就是指针,指向了arr数组的第一个元素的地址。所以p可以认为是arr【0】的地址,*就是取里面的值的意思,然后+i就一直循环下去啦

指针基础知识(中)_指针_05

好啦,今天的分享就到此结束,我们明天见啦。













标签:字节,int,然后,基础知识,地址,赋值,指针
From: https://blog.51cto.com/u_15863860/5910059

相关文章

  • Logstash基础知识
    ​Logstash简介logstash是一个开源的数据采集工具,通过数据源采集数据.然后进行过滤,并自定义格式输出到目的地。数据分为:结构化数据如:mysql数据库里的表等半结构化数据......
  • 【C语言】指针Ⅰ--- 概念、前言、内存、地址与指针。
    ......
  • 4.指针和引用的区别详解
    前言指针和引用在形式上很好区别,在C++中相比于指针我们更喜欢使用引用,但是它们的使用场景又极其类似,它们都能直接引用对象,对对象进行处理,那么究竟为什么会引入引用?什么时......
  • 9.【C语言详解】指针
    指针是什么指针是什么?指针理解的2个要点:指针是内存中一个最小单元的编号,也就是地址;平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量;指针就是地址,......
  • 14.【C语言进阶】指针
    简介指针的概念指针是个变量,用来存储地址。指针的大小只与是64位平台还是32位平台有关,与指针类型无关。指针类型决定了指针的解引用权限和读取方式。指针+-正数与指......
  • 玩转双指针
    一、算法简介双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延伸到多个数组的多个指针。若两个指针指向同一数组,遍历方向相同且不会相交,则也称......
  • C 字符串指针与字符串数组
    在程序中定义的字符串无论是对于字符串指针还是字符串数组,都会将字符串放到静态存储区在程序开始运行的时候,对于数组来说,先分配内存空间,然后静态存储区中的字符串字面量......
  • go指针逃逸对结构体元素集合法(增法)
    packagemainimport("awesomeProject/logger""fmt""github.com/opencontainers/runtime-tools/filepath""os")typeGoodsstruct{IDuintMonTsstr......
  • Promise基础知识
    Promise1.Promise的前置小知识进程(厂房)程序的运行环境线程(工人)线程是实际进行运算的东西同步通常情况代码都是自上向下一行一行执行的前边的代码不执行......
  • MinIo windows版基础知识(启动与使用)
    一:启动(1)第一步:打开CMD命令行窗口(2)第二步:输入以下命令  minio.exeserverD:\myMinIO解释:minio.exeserver后面跟的D:\myMinIO是minio.exe所在文件夹的路径,回车启动......