所以我把这个数组放在头文件中,如下所示:

// header.h
static const unsigned int array1[]={0x00,0x01,0x02,0x03};

以及:
// file.c
main()
{
     unsigned int *ptrToArray;

     ptrArray = &array1[0];
 }

如果我错了就纠正我。我假设:要找到数组元素的字节数,而不是sizeof(array1)等价的字节数是sizeof(*ptrArray),对吧?
要访问数组的元素,而不是array[i],现在将是:
*(ptrArray)对于第一个元素,
*(ptrArray+1)对于第二个元素,是吗?

最佳答案

*ptrToArray的类型是int,因此sizeof(*ptrToArray)sizeof(int)相同。所以它不会告诉你array1中元素的数量。
当你可以写*(ptrArray+1)等的时候,你应该只写ptrToArray[1]

09-17 15:57