C语言中的对象

Sha*_*ash 3 c object

当我浏览C的一些教程/笔记时,我非常喜欢"对象"一词.我总是想知道对象与过程语言有什么关系.走得有点深,我可以理解占用一块记忆的东西在c中被称为"对象".

我的问题是我的理解是正确的还是我缺少的东西.谢谢!

pmg*_*pmg 6

C99标准草案:

3.14 执行环境中数据存储的
对象
区域,其内容可以表示值

所以,你基本上是正确的.

笔记:

  • 一个对象可以有一个名字: int object = 42;
  • 对象可以是更大对象的一部分: struct tm x; /* (x) and (x.tm_year) are objects */
  • 一个对象可以在dinamycally分配: int *arr = malloc(42); if (arr) /* arr[4] is an object */;