2016 - 2024

感恩一路有你

指针赋值有几种方法 (C语言)地址为什么要变成指针才能赋值给指针变量呢?

浏览量:1977 时间:2021-03-11 15:54:04 作者:admin

(C语言)地址为什么要变成指针才能赋值给指针变量呢?

指针就是地址。所以你的问题不对。

我的理解是,我想问为什么变量需要取地址,然后给指针变量赋值,即int a,*P P=&a

让我们来谈谈一个小概念,数字23,在句子“我今年23岁”中,23的意思是年龄;在句子“我的偶像穿着23号篮球服”,23是篮球服的号码。也就是说,数字23在不同的句子环境中具有不同的语义。

在本文中,我们定义了两个成形变量。在内存中,它们都存储二进制代码,但语义不同。一个用于存储整数,另一个用于存储指向成形变量的指针。总之,这两个变量是不一样的。一个是存储常用值的公共变量,另一个是存储另一个变量的物理地址的特殊变量(因此我们需要添加*符号来区分它)。

你能理解吗?如果你不明白,你可以请我再回答这个问题。

C语言对指针赋值有多少种方法?

无论您在哪种系统中,都应该区分指针本身和指针所指向的数据类型

如果定义char*P,则P所指向的内容是字符类型,但并不意味着P是字符类型,即P不必是字节,当然int*P是相同的;

您可以使用sizeof查看

例如,您可以定义类型(如char int long…)*P sizeof(*P)sizeof(P)

例如,在32位系统中,无论前面的类型是塑料还是实数,sizeof(P)的值都是相同的,都是4;在8位系统(如SCM系统)中,它应该是1或2(这应该与SCM的型号有关,不同的SCM系统也应该不同)

也就是说,指针本身不区分类型,它只是一个指向不同事物的代码

就像一个50人的类,一个100人的类,不管这个类中有多少人,都是一样的称为1级和2级。C语言中最常用的指针是指向内存中的地址,从而实现对内存地址中数据的存储、赋值、修改、更新、读取等处理操作。

指针赋值有几种方法 c语言指针数组赋值 C语言指针初始化

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。