社区
C语言
帖子详情
关于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符值?
...全文
59
10
打赏
收藏
关于typedef 的问题 请教,不难
先做以下定义: typedef float vec3_t[3]; 在main函数以前做以下定义以及初始化 可通过编译: vec3_t newCube[24]={{1,2,3}}; 但是在其它的函数里面再用 vec3_t newCube[2]={{1,2,3}}; 则编译器报错 请问是为什么?我要怎么给newCube符值?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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;
}
}
《C深度解析》第7、8章 结构体/共用体/枚举,杂项(自动类型转换、大小端序等)
第7章: 1. 结构体 结构体定义、访问、传参,结构体对齐(offsetof宏... 枚举 第8章: 自动类型转换、大小端序、
typedef
、编译器优化、extern "C"、程序调试、变参函数、do{}while(0)、内嵌汇编、调试版与发行版、断言
终极面试题
第一部分:基本概念及其它问答题 31、关键字static的作用是什么? 32、“引用”与指针的区别是什么? 33、.h头文件中的ifndef/define/endif 的作用? 44、#include<file.h> 与 #include "file.h"的区别? 45、描述实时系统的基本特性 46、全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 47、什么是平衡二叉树? ...
计算机丢失i4m.dll,ntd.dll难住机器人发烧友
该楼层疑似违规已被系统折叠隐藏此楼查看此楼我为做机器人自学C++编程,在网上找了个程序改了一下。调试该程序总报错,因为ntd.dll的原因,无匹配的字符信息。我想把我C:\windows\system32\ntd.dll删除后,再下载一个新的ntd.dll替换,老的ntd.dll删不掉。
请教
专家们啦,看看我这程序错哪。#include #include #include
typedef
unsi...
很有用很重要的网络编程
问题
总结(转)
ios开发如何判断网络 等
问题
参考资料 先转了 有空详细看 感谢原帖大神们的辛勤劳动! http://www.cocoachina.com/bbs/simple/?t54338.html haoxue 2011-04-15 11:06 网络编程专题总结(重要) 一:确认网络环境3G/WIFI二:使用NSConnection下载数...
c语言面试题总汇,面试宝典:C语言面试题总汇(二)
推荐前几天面试,有一题想不明白,
请教
大家!
typedef
struct{int a:2;int b:2;int c:1;}test;test t;t.a = 1;t.b = 3;t.c = 1;printf("%d",t.a);printf("%d",t.b);printf("%d",t.c);谢谢!t.a为01,输出就是1t.b为11,输出就是-1t.c为1,输出也是-13个都是有符号数int嘛...
C语言
69,336
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章