c - C中的这个指针是什么?

标签 c arrays pointers char

我见过很多这样的类型,但我不知道它是什么意思

unsigned char somevar[MAXLEN];
int *ptr = (int *) somevar;

谁能解释一下?

最佳答案

本质上,您是将字符数组解释为指向 int 的指针。假设 sizeof (int) 是 4 并且 char 数组包含这些字节:

b0 b1 b2 b3 b4 b5 b6 b7 

现在 ptr 将指向 b0 但将其作为 int 进行威胁。也就是说,

ptr[0] 是由字节 b0、b1、b2 和 b3
组成的整数 ptr[1] 是由字节 b4、b5、b6 和 b7

组成的整数

HTH

关于c - C中的这个指针是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6680195/

相关文章:

c - 解析位图头的字节并使用文件指针保存

c - S_ISREG 不适用于列表功能

python - 基于标签扩展numpy数组

C++ 堆栈与堆和指针

c++ - 初始化 POD 数组中的第一个元素,保留其余元素未初始化

Ruby Twitter 数组问题

pointers - 将 map 的值指针添加到 slice 的行为

对整数变量 n c 的逗号分隔赋值

c - 如何读取特定的输入格式

c - 从 Linux 中的管道读取值