据我所知,C/C++ 中的数据类型,在声明变量时,我们需要声明它的数据类型,这告诉编译器相应地保留内存中的字节数。
但是在指针的情况下,我们知道它们的大小是恒定的(例如“Turbo Compiler”中的 2 个字节),而与 它指向的变量 的数据类型无关,因为指针将内存地址存储为无符号整数。
我的问题是,如果指针 总是 以字节为单位的常量大小,那么在声明它们时需要提及 数据类型 吗?我对指针的理解是错误的吗?
原文由 Chandra Sekhar 发布,翻译遵循 CC BY-SA 4.0 许可协议
取消引用指针 时需要数据类型,因此它知道应该读取多少数据。例如,取消引用
char
指针应该从它指向的地址读取下一个字节,而int
指针应该读取 2 个字节。