c中指针的数据类型是什么?
指针是整数还是无符号数据类型?否。它们是指针,其大小取决于系统,唯一兼容的类型是c中指针的数据类型是什么?,c,pointers,C,Pointers,指针是整数还是无符号数据类型?否。它们是指针,其大小取决于系统,唯一兼容的类型是void*指针类型。如果您想知道指针值在内存中是如何表示的,这实际上取决于平台。它们可能是简单的积分值(如在平面内存模型中),也可能是结构化值,如页码和偏移量(对于分段模型),也可能完全是其他值 指向任何数据类型的指针,它可以是char/int/float/double/。。。仅为无符号整数 原因:由于指针存储的地址是计算机内存中的一个位置,所以它总是正的,不能是负的。C中指针的数据类型是什么?这是唯一的问题 一个人
void*
指针类型。如果您想知道指针值在内存中是如何表示的,这实际上取决于平台。它们可能是简单的积分值(如在平面内存模型中),也可能是结构化值,如页码和偏移量(对于分段模型),也可能完全是其他值 指向任何数据类型的指针,它可以是char/int/float/double/。。。仅为无符号整数原因:由于指针存储的地址是计算机内存中的一个位置,所以它总是正的,不能是负的。C中指针的数据类型是什么?这是唯一的问题 一个人不应该偏离这个问题,在回答这个问题的时候对指针做任何解释 回答
它以十六进制格式存储地址。在C中,指针可以访问任何数据类型的变量。指针应使用指针将指向的变量的数据类型声明。要以十六进制格式打印指针地址,请使用
%p
,要以其他形式打印地址,请使用%u
INTER将用于显示指针变量的值,使用*指针\u名称
,并且仅用于地址使用指针\u名称
,我相信指针本身就是数据类型。我的这一信念来自Brian Kernighan和Dennis Ritchie在《导论》第二版中所写的书,其中指出-
BCPL和B是“无类型”语言。相比之下,C提供了多种
数据类型。基本类型是字符、整数和不同大小的浮点数。此外,还有一个由指针、数组、结构和联合创建的派生数据类型层次结构。
请讨论或分享您的观点
dennis ritchie的参考-c编程语言整数和无符号不是互斥的。事实上,只有整数类型可以无符号。指针类型和浮点类型都不能无符号。请将其中一个答案标记为已接受。另一个兼容类型是
char*
。MSalters:char*
作为泛型指针已被弃用,不是吗?@NoufalIbrahim C99需要intptr\u t
和uintptr\u t
指针类型而不是void*
与void*
不兼容。隐式转换的存在与类型兼容性不同,后者的定义相当狭窄。@H2CO3:intptr\u t
和
中定义的uintpttr\u t
是可选的。没有足够大的整数类型的一致性实现不能在不丢失信息的情况下使用转换的void*
值来定义它们。(我不知道有这样的实现,但它们是可能的。)不,指针不是“无符号整数”指针是指针。你说指针是指针是什么意思,你能再解释一下吗?我的意思是地址不能是负数,所以它必须是无符号整数。“它以十六进制格式存储地址。”我不认为这是真的。