关于typedef 的问题 请教,不难

sean717 2003-03-23 10:40:29
先做以下定义:
typedef float vec3_t[3];

在main函数以前做以下定义以及初始化 可通过编译:
vec3_t newCube[24]={{1,2,3}};

但是在其它的函数里面再用
vec3_t newCube[2]={{1,2,3}};
则编译器报错


请问是为什么?我要怎么给newCube符值?
...全文
76 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouzhaohan 2003-03-24
  • 打赏
  • 举报
回复
typedef 只是一个类型定义,不同于定义变量,其只在他所在文件中起作用,而且只有在它被定义了之后,才会起作用。所以把它定义在头文件里,然后什么c文件要用到它,就include那个头文件。这种东西没有什么全局不全局的。
bailingke 2003-03-24
  • 打赏
  • 举报
回复
建议楼主看书
了解什么是typedef
本来很容易理解的
langzi8818 2003-03-23
  • 打赏
  • 举报
回复
迷茫中^^^^^^^^
CForum 2003-03-23
  • 打赏
  • 举报
回复
不知道是不是WARNING的等级的问题,可将WARNING等级降到最低试一下。
sean717 2003-03-23
  • 打赏
  • 举报
回复
对了,在赋值的时候,可不可以一次给一“行”的数据赋值?
象我问题中的
typedef float vec3_f[3];
vec3_f newCube 这样的数组

可否在赋值时 newCube[5]=... 就象初始化时一样 语法要怎么写?

谢谢大家帮忙
sean717 2003-03-23
  • 打赏
  • 举报
回复
哎,真奇怪,还是不行

我已经把typedef宜到我唯一的头文件里面去了

仍然说有错
point_to 2003-03-23
  • 打赏
  • 举报
回复
是不是不认识vec3_t??
在main函数前定义typedef float vec3_t[3];
让任何函数可见之;
初始化可以用{}
也可用循环来赋值
Jinglihui 2003-03-23
  • 打赏
  • 举报
回复
我也在其它函数里作了测试,也没有出现错误!
代码我就不贴了!
只要typedef float vec3_f[3];声明为全局的,在其它函数里这样使用是可以的:vec3_f newCube1[2]={{1,2,3}};
bailingke 2003-03-23
  • 打赏
  • 举报
回复
他的意思可能是,在头文件中那样定义typedef
然后在cpp文件中使用

如果在其他的工作中
不包含这样的头文件
当然就出错了
Jinglihui 2003-03-23
  • 打赏
  • 举报
回复
下边的代码是我关于你这个问题的测试代码,我在bcc5.5下编译,没有问题
#include<iostream>
using namespace std;
typedef float vec3_f[3];
void main()
{
vec3_f newCube[24]={{1,2,3}};//它只是对这个24行3列的数组的第一行进行赋值,其它行的全为0
for (int i=0;i<24;i++)
{
for(int j=0;j<3;j++)
cout<<newCube[i][j]<<" ";
cout<<endl;
}
vec3_f newCube1[2]={{1,2,3}};
for (int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
cout<<newCube1[i][j]<<" ";
cout<<endl;
}
}
内容概要:本文深入剖析了 Cursor 编辑器中 @Codebase 功能的核心价值与底层机制,指出其作为代码库语义索引和智能上下文检索系统的本质,能够解决大型项目中 AI 编程常见的上下文割裂、依赖遗漏、风格不统一等问题。通过结构化索引、语义排序、逻辑推理与精准注入四大流程,@Codebase 可实现跨文件联动修改、全局架构理解与规范复用,支持高精度的批量修复、性能优化与架构重构。文章还提供了从索引优化、范围限定到任务拆分的完整最佳实践体系,强调需配合 .cursorignore 配置、三段式指令和分层使用策略,以避免常见误区,提升大项目 AI 编程效率与准确性。; 适合人群:具备一定项目开发经验,正在使用或希望提升 Cursor 在大型复杂项目中 AI 编程效率的研发人员、技术负责人及工程团队;; 使用场景及目标:①在十万行级项目中进行全局重构与规范统一;②实现跨模块 BUG 批量修复与性能瓶颈优化;③避免重复造轮子、代码风格冲突与依赖遗漏;④构建高效、可控、低返工率的 AI 辅助开发流程; 阅读建议:此资源聚焦于如何最大化发挥 @Codebase 的工程级能力,建议结合实际大型项目边学边练,重点掌握索引瘦身、精准注入指令与任务拆分方法,并定期刷新上下文以保持与项目同步。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧