全站数据
8 4 2 0 5 8 1

C语言中void是关键字嘛

一起学消防 | 简单学习,快乐成才!         
问题更新日期:2024-10-11 12:25:25

问题描述

C语言中void是关键字嘛求高手给解答
精选答案
最佳答案

void类型修饰符(type specifier)表示“没有值可以获得”。因此,不可以采用这个类型声明变量或常量。void 类型可以用于下面各小节所描述的目的。

void用于函数声明

没有返回值的函数,其类型为 void。例如,标准库函数 perror() 被声明为以下原型:

void perror( const char * );

下面是另一个函数原型的声明,参数列表中的关键字 void 表示该函数没有参数:

FILE *tmpfile( void );

如果尝试进行函数调用,例如采用 tmpfile("name.tmp"),则编译器会报错。如果该函数声明时参数列表中未采用 void,则C编译器就无法获得关于该函数参数的信息,因此,无法判断 tmpfile("name.tmp") 的调用是否正确。

void类型表达式

void 类型表达式指的是没有值的表达式。例如,调用一个没有返回值的函数,就是一种 void 类型表达式:

char filename[] = "memo.txt";

if ( fopen( filename, "r") == NULL )

perror( filename );// void表达式

类型转换(cast)运算(void)表达式显式地将表达式的返回值丢弃,例如,如下代码丢弃了函数返回值:

(void)printf("I don't need this function's return value!

");

指向void的指针

一个 void* 类型的指针代表了对象的地址,但没有该对象的类型信息。这种“无数据类型”的指针主要用于声明函数,让函数可使用各种类型的指针参数,或者返回一个“多用途”的指针。例如,标准内存管理函数:

void *malloc( size_t size );

void *realloc( void *ptr, size_t size );

void free( void *ptr );

如下例所示,可将一个 void 指针值赋值给另一个对象指针类型,反之亦可,这都不需要进行显式的类型转换。

:演示void类型的用法:

#include <stdio.h>

#include <time.h>

#include <stdlib.h> // 提供以下函数的原型

// void srand( unsigned int seed );

// int rand( void );

// void *malloc( size_t size );

// void free( void *ptr );

// void exit( int status };

enum { ARR_LEN = 100 };

int main ()

{

int i, *pNumbers = malloc(ARR_LEN * sizeof(int));//获得相同的存储空间

if( pNumbers == NULL )

{

fprintf(stderr,"Insufficient memory.

");

exit(1);

}

srand( (unsigned)time(NULL );// 初始化随机数产生器

for ( i=0; i < ARR_LEN; ++i )

pNumbers[i] = rand() % 10000;// 存储一些随机数

printf("

%d random numbers between 0 and 0000:

", ARR_LEN);

for ( i=0; i< ARR_LEN; ++i )// 循环输出

{

printf("%6d",pNumbers[i]);// 每次循环输出一个数字

if ( i % 10 == 9) putchar( '

');// 每10个数字换一行

}

free( pNumbers );// 释放存储空间

return 0;

}

其他回答

不是关键字。在C语言中,void是一个类型修饰符,表示“没有值可以获得” 。它通常用于声明函数的返回类型或无参数的函数。

其他回答

是关键字。

void是一个关键字,他常常用在某一个函数的返回值当中,表示这个函数没有返回。标识符是c语言中用于为变量,函数等命名的一串字符,它需要遵循标识符命名规范,比如不能用数字开头,不能包含斜杠等特殊字符,因此,void不是c语言的标识符。

其他回答

是

(void)是C语言中的一个关键字,它表示“无类型”,也就是说,void类型的数据不具有任何类型信息。 总的来说,void是C语言中一个非常重要的关键字,它可以用来表示函数的返回值类型,也可以用来定义指向任意类型的指针。

其他回答

是的,`void` 是C语言中的关键字。在C语言中,`void` 用于表示空类型或无返回值。它可以用作函数的返回类型,表示该函数不返回任何值;也可以用作函数的参数类型,表示该函数不接受任何参数。

例如,声明一个没有返回值和参数的函数可以使用 `void` 关键字:

```c

void functionName(void);

```

这意味着函数名为 `functionName`,没有返回值,也没有任何参数。

需要注意的是,`void` 是C语言中的保留关键字,它具有特殊的含义,在其他上下文中不能将其用作标识符或变量名。

希望能解答您的问题!如果您还有其他疑问,请随时提问。