c中指针的数据类型是什么?

是整数或无符号数据类型的指针?

不。它们是指针,其大小取决于系统,其唯一兼容类型为void*

指针是指针类型。 如果您询问指针值如何在内存中表示,那实际上取决于平台。 它们可以是简单的整数值(如在平面存储器模型中),或者它们可以是结构化值,例如页码和偏移量(对于分段模型),或者它们可以是完全不同的其他值。

在C中,指针可以访问任何数据类型的变量。 应该使用指针指向的变量的数据类型声明指针。 要以hex格式打印指针的地址,请使用%p并以其他forms打印地址使用%u 。如果指针将用于显示指向变量的值,请使用*pointer_name ,仅用于地址使用pointer_name

int * p;

* p的数据类型是指针。 它指向整数类型变量。 它以hex格式存储地址。

指向任何数据类型的指针,可能是char / int / float / double / …,只是无符号整数。

原因 :由于指针存储地址,这是计算机内存中的一个位置,因此它总是正数,不能为负数。

C中指针的数据类型是什么? 是一个独特的问题。

人们不应该偏离问题来对指针作出任何解释作为问题的答案吗?

回答。

  1. C中一组整数的数据类型名称是什么? 名称是int,它是包含所有允许的整数的集合的名称。 因此我们声明int x; 其中x可以假设集合中的任何值。

  2. 同样,所有允许的地址或指针的名称是什么? 。设置名称只能是我想象的字符’*’,尽管在C语言叙述中没有任何解释。

因此我们将指针变量声明为* x; 其中*是数据类型名称。 否则,为什么要考虑指针数据类型并将其置于用户定义的数据类型下。 由于存在所有RAM单元,因此’*’数据类型形成允许和加密存储器单元的子集。 因此,这是一组指针的数据类型名称。

int是signed char c中的修饰符; 其中signed是C.Hence中的修饰符,我们可能有int * x; 意味着该位置中的数据是一个整数,这是编译器的必要信息。

C将指针数据类型说成用户数据类型。 将指针数据类型视为用户数据类型也许是错误的,因为用户无法控制集合中的指针集合,因为int的基本概念是集合名称,float是集合名称,char是haracters的集合名称,double是高精度数字的浮点数的集合名称,颜色是enum color = {blue,red,yellow)中的数据类型名称。