C语言的问题关于数据的问题

来源:百度知道 编辑:UC知道 时间:2024/06/30 15:23:09
在C语言中有int ,char ,float ,double等类型,如果我有一个数超过了C语言给定的数据类型的范围,我是否可以自己定义一个数据类型?如果可以,怎么定义?

当然可以,typedef就是用来做这回事的。
假如你想定义一个复数类型,可以:
typedef struct
{
double real;
double imag;
} ComplexNum;
以后你就可以:
ComplexNum a;
跟普通int类型一样用。

你的定义也不过是在c语言类型的基础上定义的再怎么样也不可能用一个
变量存储9999999999999999999999999999999999999999999这么长的数
肯定会错的,曾经看到有关超长数的四则运算问题,其中可以这样表示
超长数,比方说999999999999
可以用数组来存储,a[4]={999,999,999,999}当然要输出还要处理,给
每个元素设一个权(其实就十进制来说,个位的权是1.十位的权是10
百位的权是100依次类推。。) 比方说a[0]的权是1.a[1]的权是1000
a[2]的权是1000000.a[4]的权是1000000000.要输出的话需给每个元素
乘上相应的权这样就可以表示超长数了。

可以,学C语言的都要学习数据结构,包括链表,栈,队列,树,图等
一般C语言书最后一部分都要讲结构,共用体等,其实它们就是一种数据,需要直接利用已知的INT,CHAR,FLOAT,DOUBLE,数组,指针来构造
像数组也是一种简单的数据
建议看看 数据结构(C语言描述)清华大学出版社

可以
使用结构定义,并且typedef一下就是自己的数据类型了,但要注意,结构不是一个独立的变量,你在使用结构时,对大数可能要人工分割。

好深奥啊

数据类型是规定的,不能自己定义