我是C新手。指向数组中第一个元素的指针! (C)
我知道这已被问过很多形式,但我的是有点独特的...我猜。我有一个无符号的短指针。
6 unsigned short *pt;
7 pt = myArray[0];
阵列被声明为这样:const unsigned short myArray[1024]
和的形式为0×0000等的十六进制数的数组。
我尝试编译,它抛出这些错误:
myLib.c:7: error: data definition has no type or storage class
myLib.c:7: error: type defaults to 'int' in declaration of 'pt'
myLib.c:7: error: conflicting types for 'pt'
myLib.c:6: note: previous declaration of 'pt' was here
myLib.c:7: error: initialization makes integer from pointer without a cast
什么错的任何想法?
感谢, 菲尔
请注意,诸如十六进制,十进制和八进制等表示法仅适用于源代码中的整数文字。在编译的程序中没有十六进制数字(或十进制数字或你有什么)。整数使用平台提供的任何格式(通常是2的补码)。因此,'myArray'只是一个const unsigned shorts数组,而不是“十六进制数”。 – outis
@outis:关于重要编程概念的出色观察。我已将它添加到我的软件概念清单中。 –