C中不完整类型和对象类型的定义是什么?

2023-12-20

的定义是什么不完整型 and 对象类型在C语言中?另外,您能否提供一些例子?

ANSI C99 在不同的地方提到了这两种类型类别,尽管我发现很难理解它们的确切含义(没有段落/句子明确定义它们是什么)。


让我们去在线 C 标准(草案 n1256) http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf:

6.2.5 Types

1 The meaning of a value stored in an object or returned by a function is determined by the type of the expression used to access it. (An identifier declared to be an object is the simplest such expression; the type is specified in the declaration of the identifier.) Types are partitioned into object types (types that fully describe objects), function types (types that describe functions), and incomplete types (types that describe objects but lack information needed to determine their sizes).

示例不完整的 types:

struct f;    // introduces struct f tag, but no struct definition
int a[];     // introduces a as an array but with no defined size

您无法创建不完整类型的实例,但您可以can从不完整类型创建指针和 typedef 名称:

struct f *foo;
typedef struct f Ftype;

要将不完整的结构体类型转换为对象类型,我们必须定义该结构体:

struct f
{
  int x;
  char *y;
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C中不完整类型和对象类型的定义是什么? 的相关文章

  • UTF8/UTF16 和 Base64 在编码方面有什么区别

    In c 我们可以使用下面的类来进行编码 System Text Encoding UTF8 System Text Encoding UTF16 System Text Encoding ASCII 为什么没有System Text En
  • 部署 MVC4 项目时出错:找不到文件或程序集

    过去 我只需使用 Visual Studio 2012 发布到 AWS 菜单项即可部署我的 MVC4 网站 到 AWS Elastic Beanstalk 现在 程序可以在本地编译并运行 但无法部署 从消息来看 它似乎正在寻找不在当前部署的
  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • .Net Core / 控制台应用程序 / 配置 / XML

    我第一次尝试使用新的 ConfigurationBuilder 和选项模式进入 Net Core 库 这里有很多很好的例子 https docs asp net en latest fundamentals configuration ht
  • 如何在 Team Foundation 上强制发表有意义的签入评论?

    我有一个开发团队有一个坏习惯 他们写道poor签入评论 当我们必须在团队基础上查看文件的历史记录时 这使得它成为一场噩梦 我已经启用了变更集评论政策 这样他们甚至可以在签到时留下评论 否则他们不会 我们就团队的工作质量进行了一些讨论 他们很
  • 初始化变量的不同方式

    在 C 中初始化变量有多种方法 int z 3 与 int 相同z 3 Is int z z 3 same as int z z 3 您可以使用 int z z 3 Or just int z 3 Or int z 3 Or int z i
  • 像“1$”这样的位置参数如何与 printf() 一起使用?

    By man I find printf d width num and printf 2 1 d width num 是等价的 但在我看来 第二种风格应该与以下相同 printf d num width 然而通过测试似乎man是对的 为什
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 已过时 - OpenCV 的错误模式

    我正在使用 OpenCV 1 进行一些图像处理 并且对 cvSetErrMode 函数 它是 CxCore 的一部分 感到困惑 OpenCV 具有三种错误模式 叶 调用错误处理程序后 程序终止 Parent 程序没有终止 但错误处理程序被调
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • 如何在 C# 中播放在线资源中的 .mp3 文件?

    我的问题与此非常相似question https stackoverflow com questions 7556672 mp3 play from stream on c sharp 我有音乐网址 网址如http site com aud
  • 如何将字符串“07:35”(HH:MM) 转换为 TimeSpan

    我想知道是否有办法将 24 小时时间格式的字符串转换为 TimeSpan 现在我有一种 旧时尚风格 string stringTime 07 35 string values stringTime Split TimeSpan ts new

随机推荐

  • 使用setTimeout绕过IE的长时间运行脚本警告

    我以前问过这个问题 并在网上找到了一些关于这个主题的文章 但我一生都无法弄清楚这一点 我有一组计算模型的 Javascript 函数 但是存在大量循环 导致脚本需要一段时间 约 4 秒 我不介意处理时间 但 IE 会提示警告 因为执行次数太
  • 在 Rails 上的参数 ruby​​ 中使用变量? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我想检查 param key 是否存在并带有变量名 如果存在 我想使用类似 params filenamestring 1 的值 filen
  • Silverlight 4:当内容变得更窄时,StackPanel 不会调整大小

    我正在使用 Silverlight 4 和 Blend 4 我有一个 水平 堆栈面板 其中包括一些文本框和一个按钮 堆栈面板设置为拉伸到内容使用的大小 文本框也可以自动调整大小 当我向文本框添加文本时 文本框大小会增大 堆栈面板也会增大 到
  • 无法使用react-router和webpack-dev-server直接进入动态路由

    启动 webpack dev server 后 我可以直接进入静态路由 例如http localhost 3456 one 但我无法直接转到动态路线 例如http localhost 3456 two 1234 我相信我的 webpack
  • Nuxt:仅在服务器端获取数据

    我使用 Github 的 API 来获取固定存储库的列表 并将调用放入 AsyncData 方法中 以便在第一次渲染时获得该列表 但我刚刚了解到 AsyncData 在服务器端调用一次 然后每次在客户端加载页面时调用 这意味着客户端不再拥有
  • X.509 证书中的专有名称长度限制

    在通用名称字段中 如 OID 2 5 4 3 的 ASN 1 表示法中所定义 限制最多为 64 个字符 如果我们想要一个超过 64 个字符的通用名 有什么办法吗 即使你可以哄骗你的证书生成代码拥有更长的 CN 它也是clients这需要改变
  • 根据字符串生成UUID

    如何在 C 中生成确定性 GUID UUID v3 v5 将命名空间和名称都作为字符串 根据 RFC4122 您需要提供命名空间作为 GUID 名称作为字符串 提供给函数 所以我想提供两个字符串而不是 guid对于命名空间和名称字符串 并且
  • 升级到 Notes 11 - Apache POI java 库的问题

    我们在 Domino 9 服务器上运行的多个 Xpages 应用程序中使用 Apache POI 库 现在 当将 HCL Notes Designer 升级到 R11 时 我们可以看到 Apache POI 在版本 4 1 1 的 jvm
  • Parent Last Classloader 解决Java类路径地狱?

    我有一个项目使用两个版本的 bouncyCastle jars bcprov jdk15 和 bcprov jdk16 jvm 加载旧版本 但我编写的一个功能需要更新版本才能运行 我尝试使用自定义类加载器来解决这个类路径地狱 经过一番谷歌搜
  • 从 OpenAPI 3 生成 Java Spring API

    我尝试从 OpenAPI v3 YAML 文件生成 Spring REST 接口 构建 说 Successfully generated code to property class java lang String property cl
  • 无法在 Beta 5 中将 Swift 字典写入 NSUserDefaults

    我一直在开发一个应用程序 在该应用程序中我使用 NSUserDefaults 来保存字典以在程序的其他地方使用 自 Beta 1 以来 此功能一直运行良好 现在 随着最新的更新 beta 5 此功能不再有效 看来他们已经消除了以这种方式保存
  • 仍然是 Python 2.6 与 Python 3 吗?

    G day 我想在一段时间没有使用Python后回到Python 我看到了这个问题 适合新手的 Python 版本 https stackoverflow com questions 345255 python version for a
  • 如何使用 Spring security 更新过滤器的标头参数?

    我正在使用 Spring security 开发一个过滤器extends of OncePerRequestFilter类 它必须更新 REST 服务中的参数 参数由带有注释的标头输入 RequestHeader 我尝试使用以下类更新过滤器
  • 在 python3 中绘图(直方图)

    我正在尝试根据一系列成绩创建直方图 所有等级均为可能的 7 级 3 0 2 4 7 10 12 之一 我使用下面的代码来生成绘图 但是我无法找到一种方法将 x 轴标签放在条形图的中间 删除绘图中间的空间 或者在条形图之间放置一个小空间 im
  • 我可以让 Heroku Logs 仅返回概述错误的行吗?

    Heroku 日志是一个很好的资源 可以在出现问题时检查应用程序发生了什么情况 不幸的是 它们还记录了大量信息 有什么方法可以过滤日志以仅查找错误消息吗 尝试这个 heroku logs t grep error 获取错误发生时的运行列表
  • 我有 30 个注释,并且还在不断增加。正在寻找一种更简单的方法来编码吗?

    我正在将多个注释编码到一个项目中 目前我有 30 个注释 并且还在不断增加 我想知道是否有一种更简单的方法必须为每个注释创建 annotation h 和 annotation m 类 目前在我的地图视图控制器中 我创建注释对象并将它们放置
  • 如何使用 matlab 查找矩阵中唯一(不重复)的值

    每个人 假设我有以下 3x3 矩阵 A 0 1 3 0 0 3 0 0 0 我的问题是如何使用matlab找出该矩阵中的唯一值 在这种情况下 结果应该是 1 我尝试过使用 value unique A 但它返回的向量 0 1 3 不是我想要
  • CKAN 中的修订历史

    CKAN 是否提供数据集的修订历史记录 我看到一个表和一个 API 调用 但在修改数据集或元数据字段时 我在 UI 和 或数据库中看不到任何内容 编辑数据集的标题 您将看到包含添加到 package revision 表中的新值的行 然而
  • ASP.NET / iPad Safari 缓存问题?

    我们有一个使用 ASP NET Ajax 的 ASP NET Web 应用程序 我们从 iPad 上的 Safari 中打开它 效果很好 我们将其作为单独的图标保存到主屏幕上 我们添加了元标记 使其能够全屏加载 无需 Safari 的导航栏
  • C中不完整类型和对象类型的定义是什么?

    的定义是什么不完整型 and 对象类型在C语言中 另外 您能否提供一些例子 ANSI C99 在不同的地方提到了这两种类型类别 尽管我发现很难理解它们的确切含义 没有段落 句子明确定义它们是什么 让我们去在线 C 标准 草案 n1256 h