将具有固定数组大小的ANSI C之前的函数声明转换为ANSI

詹姆斯·克罗宁

我是C语言的新手(至少在C语言中是RUSTY),并且我正在Visual Studio 2010中处理一些ANSI C之前的代码。它可以很好地编译,但是Intellisense对函数声明感到疯狂:

int add()
    int a, int b;
{
    return a + b;
}

代替ANSI

int add(int a, int b) 
{
    return a + b;
}

但是我遇到了一些在函数声明中带有边界的数组实例,并且我认为不能直接将其转换为ANSIC。

int add() 
    int a[5], int b[5];
{
    ...
}

下面的代码可以干净地编译,但这是否完全相同?

int add(int a[5], int b[5]) {
}
乔纳森·莱夫勒

是的,它的意思是相同的,但实际上(实际上从来没有)表示它应具有的含义。

参数实际上是指针。通过推论,它们指向的数组中应该有5个元素,但这并不能保证。特别是考虑到:

extern int add(int a[5], int b[5]);

int x[4];
int y[6];

add(x, y);

这不会导致编译器引发警告。

使用C99,您可以让优化程序使用(怪异)表示法假设至少有5个条目:

int add(int a[static 5], int b[static 5]) { ... }

即使这样,也不一定会在呼叫现场引起警告。它是编译器的信息(尽管是否使用它取决于编译器)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将 MSSS 固定数转换为 ANSI 时间“hh:mm:ss AM/PM”

来自分类常见问题

将固定数组大小的指针/引用转换为较小大小是否合法

来自分类Dev

将具有固定大小的数组的C ++结构编组到C#中

来自分类Dev

Python:将元组列表(可变大小)转换为具有固定形状的数组状结构

来自分类Dev

Python:将元组列表(可变大小)转换为具有固定形状的数组状结构

来自分类Dev

将ANSI C字符串转换为UNICODE

来自分类Dev

将ANSI C / C89结构转换为int数组[]

来自分类Dev

将ANSI转换为UTF8

来自分类Dev

将byte []-Array转换为ANSI

来自分类Dev

将php数组转换为具有数组动态大小的js数组

来自分类Dev

将reinterpret_cast结构转换为固定大小的数组

来自分类Dev

使用C#将UTF-8转换为ANSI

来自分类Dev

将Objective C数组声明转换为Swift

来自分类Dev

Python-将具有不同大小的列表的数组转换为字符串

来自分类Dev

函数式编程将代码转换为声明式风格

来自分类Dev

将C函数转换为Python函数

来自分类Dev

将Java Lambda转换为Java 1.8之前的函数

来自分类Dev

无法在ANSI C中声明具有大行/列的方阵(1446)

来自分类Dev

无法在ANSI C中声明具有大行/列的方阵(1446)

来自分类Dev

将Informix SQL查询转换为ANSI-92 SQL?

来自分类Dev

Polybase将sql转换为ansi sql进行sybase连接

来自分类Dev

将多个Oracle联接转换为多个ANSI联接

来自分类Dev

如何使用AutoIt将Unicode字符转换为ANSI?

来自分类Dev

将旧 SQL 外连接 *=, =* 转换为 ANSI

来自分类Dev

如何使用Unicode将DOS ANSI(CP 437)文件转换为Unix ANSI?

来自分类Dev

C#-具有固定数组(队列/缓冲区?)的类的线程安全实现(ADD,REMOVE,MODIFY)

来自分类Dev

在PHP中将HEX转换为ANSI

来自分类Dev

将具有未知行和列大小的二维数组传递给函数(C ++)

来自分类Dev

从固定大小的c_char数组转换为CString

Related 相关文章

  1. 1

    将 MSSS 固定数转换为 ANSI 时间“hh:mm:ss AM/PM”

  2. 2

    将固定数组大小的指针/引用转换为较小大小是否合法

  3. 3

    将具有固定大小的数组的C ++结构编组到C#中

  4. 4

    Python:将元组列表(可变大小)转换为具有固定形状的数组状结构

  5. 5

    Python:将元组列表(可变大小)转换为具有固定形状的数组状结构

  6. 6

    将ANSI C字符串转换为UNICODE

  7. 7

    将ANSI C / C89结构转换为int数组[]

  8. 8

    将ANSI转换为UTF8

  9. 9

    将byte []-Array转换为ANSI

  10. 10

    将php数组转换为具有数组动态大小的js数组

  11. 11

    将reinterpret_cast结构转换为固定大小的数组

  12. 12

    使用C#将UTF-8转换为ANSI

  13. 13

    将Objective C数组声明转换为Swift

  14. 14

    Python-将具有不同大小的列表的数组转换为字符串

  15. 15

    函数式编程将代码转换为声明式风格

  16. 16

    将C函数转换为Python函数

  17. 17

    将Java Lambda转换为Java 1.8之前的函数

  18. 18

    无法在ANSI C中声明具有大行/列的方阵(1446)

  19. 19

    无法在ANSI C中声明具有大行/列的方阵(1446)

  20. 20

    将Informix SQL查询转换为ANSI-92 SQL?

  21. 21

    Polybase将sql转换为ansi sql进行sybase连接

  22. 22

    将多个Oracle联接转换为多个ANSI联接

  23. 23

    如何使用AutoIt将Unicode字符转换为ANSI?

  24. 24

    将旧 SQL 外连接 *=, =* 转换为 ANSI

  25. 25

    如何使用Unicode将DOS ANSI(CP 437)文件转换为Unix ANSI?

  26. 26

    C#-具有固定数组(队列/缓冲区?)的类的线程安全实现(ADD,REMOVE,MODIFY)

  27. 27

    在PHP中将HEX转换为ANSI

  28. 28

    将具有未知行和列大小的二维数组传递给函数(C ++)

  29. 29

    从固定大小的c_char数组转换为CString

热门标签

归档