c - 关于指针和数组以及类型和转换

标签 c pointers char int

假设我有以下问题:

main(void) {
int * p;
int nums [3] = {1,5,9};
char c [3] = {'s','t','u'};
p =  nums [2];
*p = (int) *c;
}

最后一行是什么意思?

最佳答案

让我们分解一下:*p = (int) *c;

c 是一个字符数组。

*c 是char数组的第一个元素,因为c[0] = *(c+0) = *(c) = *c

(int) *c 将字符数组 c 的第一个元素转换为整数。这是必需的,因为...

*p = (int) *c 您将 分配给一个整数,并将其转换为指针 p 的内容。

关于c - 关于指针和数组以及类型和转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33136202/

相关文章:

c - 如何在与不同机器上的多个客户端连接的服务器中管理应用程序的多个实例

c - 如何在 C 中使用按位运算符而不使用乘法运算符来乘以 float

java - C++ 与托管中这些指针错误的后果

c++ - 使用动态无符号字符数组时发生未知崩溃

C:查找字符串中的特定字符

php - 如何在php扩展中获取请求 header

c - Linux中为CFS定义的函数在哪里

c - 使用指针对数组进行排序 - C 编程

c - 如何消除c语言中的格式警告?

c++ - std::cin >> *aa 导致总线错误