假设我有以下问题:
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/