您的位置:

c语言未知类型,c++使用了未定义类型

本文目录一览:

C语言报错:unknown type name 'bool'

报错的意思:未知的类型名:'bool'

在C语言标准(C89)没有定义布尔类型,所以会报错。而C99提供了一个头文件 stdbool.h 定义了 bool , true 代表1, false 代表0。只要导入 stdbool.h ,就能非常方便的操作布尔类型了。

C语言中结构体提示未知类型名

在全局空间是不允许赋值的,只允许初始化。

就算是内置基本类型都是不允许在函数外赋值的:

int a;

a=1;  //不允许

int b=2;   //初始化方式就可以

你可以这样:

typedef struct abcd{uint16_t a;

uint16_t b;

}abcd;

abcd ccck={0};  //初始化方式

或者在函数内赋值:

int main()

{

  ....

  ccck.a=0;   

  ....

}

如何用c语言判断一个未知文件的文件类型

打开文件容易,读几个字符容易,判断类型较难。

下面程序判断 .exe .jpg .gif 格式

读入的前20个字节在 char s[20] 中。

你愿意把它看成10进制,16进制都可以。

输入形式:

可执行程序名 要判断的文件名

例如:

ccalb.exe file.gif

#include stdio.h

#includestdlib.h

main(int argc, char *argv[]){

FILE *fin;

char namein[80];

char s[20];

if (argc2) {

printf("Usage: \007 %s filename\n",argv[0]);

return 0;

}

strcpy(namein,argv[1]);

fin = fopen(namein,"rb");

if (!fin){

printf("Open %s error\n",namein);

return 0;

}

fread(s,20,1,fin);

fclose(fin);

if (s[0]=='M' s[1]=='Z') printf("It is .exe file\n");

else if (s[6]=='J' s[7]=='F' s[8]=='I' s[9]=='F')printf("It is .jpg file\n");

else if (s[0]=='G' s[1]=='I' s[2]=='F' ) printf("It is .gif file\n");

else printf("other file");

return 0;

}

C语言 四种基本数据类型

1、基本类型

short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。

2、派生数据类型

派生数据类型是具有相同数据类型,并且按照一定顺序排列的一组变量的集合。

3、指针类型

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。

4、空类型

空类型表示一种未知的类型,不能表示一个真实的变量。

扩展资料:

C语言中整型数据的取值范围:

1、短整型:类型说明符为short int或short'C110F1。所占字节和取值范围会因不同的编译系统而有差异。对于16字机,short int 占2个字节,在大多数的32位机中,short int 占4个字节。

2、长整型:类型说明符为long int或long ,在内存中占4个字节,其取值为长整常数。在任何的编译系统中,长整型都是占4个字节。在一般情况下,其所占的字节数和取值范围与基本型相同。

3、无符号型:类型说明符为unsigned。在编译系统中,系统会区分有符号数和无符号数,区分的根据是如何解释字节中的最高位,如果最高位被解释为数据位,则整型数据则表示为无符号数。

参考资料来源:百度百科-C语言

在C语言中,有一个未知类型的变量,如果要把它的值传递给i,那么i如何定义呢?

//正确的做法是用联合类型

union

{

char a ;

short b ;

long c ;

double d ;

} i ;

//设x是该未知变量

if (sizeof (x) == sizeof (char))

i.a = (char) x ;

else if (sizeof (x) == sizeof (short))

i.b = (short) x ;

else if (sizeof (x) == sizeof (long))

i.c = (long) x ;

else if (sizeof (x) == sizeof (double))

i.d = (double) x ;

else

return -1 ; //这里表出错,但是一般不会出错