① c语言中"void add(void)"是什么意思
C++函数库中没有add()这个函数,这个函数是用户自定义函数,根据这个函数名称来看,是求和运算的函数,因为没有返回值,也没有传递参数,所以应该是求几个全局变量的和,结果也是全局变量。
ADD表示相加的指令(),格式为ADDXF 20H,F;表示将X和20H里面的值相加,然后放到工作寄存器或者文件寄存器中,其决定与F的值,其中F可以为1和0,为1时表示把相加的结果存入(F)文件寄存器,为0时表示把相加的结果存入(W)工作寄存器中。当然前面的例子中的20H可以是其他的地址值,X一般是工作寄存器W。
(1)c语言voidadd扩展阅读:
ADD指令完成目的操作数与源操作数相加,将结果存回目标操作数,并根据相加结果设置标志寄存器的CF,PF,AF,ZF,SF,OF
目标操作数可以是寄存器或者存储器,源操作数可以是立即数,寄存器或者存储器。但是源操作数和目标操作数不能同时为存储器。另外,不能对段寄存器进行加法运算(段寄存器不能参加减法,乘法,除法运算)。加法指令的操作数可以是8位,也可以是16位,但是类型要匹配。(如:ADD BX,CH该指令是错的)。
② c语言中void什么意思具体怎么用
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。void只有“注释”和限制程序的作用。void的作用在于对函数返回的限定和对函数参数的限定。
例如:float *p1;int *p2;p1 = p2;
其中p1 = p2语句会编译出错,提示“'=' : cannot convert from 'int *' to 'float *'”,必须改为:p1 = (float *)p2;
而void *则不同,任何类型的指针都可以直接赋值给它,无需进行强制类型转换:
void *p1;int *p2;p1 = p2;
(2)c语言voidadd扩展阅读
void类型在c开发中常见的用法有2种:
1、作为函数的返回值,如void add(int x,int y); 表示该函数吴返回类型,不需要返回值。
2、使用void*指针来使用,比如作为函数的参数类型,如: int max(void* param); -->此时的void*表示可以使用任何类型的参数进行转换。如
int a = 10; //普通类型
max((int)&a);
typedef struct{int a;}str; //结构体
str S1 ;
S1.a = 2;
max((str)&S1);
③ C语言中void的作用是什么
1、void真正发挥的作用在于:
(1) 对函数返回的限定;
(2) 对函数参数的限定。
2、void的含义
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
void表示函数没有返回值,
如:void test(){}如果不是用void,
比如用int或者别的,
则函数需要有返回值如:int test(){return 1;}
其实就是声明一个函数必需要得到一个结果,void就是不需要结果的一个方法(函数)否则如int、char等,就必需返回一个与其对应的数据这个方法(函数)才能编译通过并试用。
void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:
void a;
这行语句编译时会出错,提示“illegal use of type 'void'”。不过,即使void a的编译不会出错,它也没有任何实际意义。
(3)c语言voidadd扩展阅读
众所周知,如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值;如果p1和p2指向不同的数据类型,则必须使用强制类型转换运算符把赋值运算符右边的指针类型转换为左边指针的类型。
例如:
float*p1;int*p2;p1=p2;其中p1 = p2语句会编译出错,提示“'=' :
cannotconvertfrom'int*'to'float*'必须改为:
p1=(float)*p2;而void *则不同,任何类型的指针都可以直接赋值给它,无需进行强制类型转换:
void*p1;int*p2;p1=p2;这并不意味着,void *也可以无需强制类型转换地赋给其它类型的指针。因为“无类型”可以包容“有类型”,而“有类型”则不能包容“无类型”。道理很简单,我们可以说“男人和女人都是人”,但不能说“人是男人”或者“人是女人”。下面语句编译出错:
void*p1;int*p2;p2=p1;提示“'=' :
cannotconvertfrom'void*'to'int*'。④ C语言,为什么一个前面要加void add,一个不要什么情况下要加
void 是函数返回值类型,void代表不需要返回值.
main是C语言程序的入口函数,你写了main就是告诉程序要从main开始运行,这是c语言编译器默认规定好的,在编译器里也可以自行修改入口函数。
add是普通函数,如果定义在main函数下面就需要在main函数上面声明一次,这样main函数才能调用add函数,如果写在上面则可以不用声明。
⑤ C语言中的函数类型void什么详细意思
就是 int m() 那么这个方法执行后有一个结果 就是int类型的
如果是 void m() 那么这个方法只是执行大括号里的内容 而没有返回值
有返回值函数:这类函数被调用执行完后将向调用者返回一个执行结果,称为函数返回值,如数学函数即属于此类函数的;但是要注意:由用户自定义的并且要返回函数值的函数必须在函数定义和函数说明中明确规定返回值的类型(如需要返回整型,用int符号说明);
无返回值函数:此类函数用于完成某项特定的处理任务,执行完后不向调用者返回执行结果,这类函数类似于其他语言的过程;由于函数无返回值,用户在定义此类函数时可指定其函数返回值为“空类型”,说明符号为“Void”(注意空类型的说明符不可省,不然系统会默认返回值为int型)
有问题直接hi我,我不在时可以留言............
⑥ c语言的变量定义
C语言中变量遵循“先定义后使用”的原则:
1、定义变量的格式:数据类型 变量名;
首先要强调的一点是:变量的定义是一条语句,每条语句都是以分号结尾的。故定义完变量,后面不要漏掉“;”分号。
在变量定义中,“数据类型”表示想要存储什么类型的数据就定义什么类型的变量。
如想要存储整数就定义成 int 型;想要存储小数就定义成 float 型或 double 型;想要存储字符就定义成 char 型等等。
“变量名”就是你想给这个变量起个什么名字,通常都是用字母、数字与下划线组合而成。比如:
“int i;double price;double goods_price2”等等。
就表示定义了一个整型变量 i、小数型变量price、goods_price2;
2、变量定义完成后,接下来就是使用变量,为变量赋值。
将一个值放到一个变量中,这个动作叫“赋值”。通俗点讲,“给变量赋值”意思就是将一个值传给一个变量。
赋值的格式是:
变量名 = 要赋的值;
它的意思是将=右边的数字赋给左边的变量。比如:
i = 3;
这就表示将 3 赋给了变量 i,此时 i 就等于 3 了。
3、变量的定义和赋值,可以分成两步写,也可以将它们合成一步,而且事实上,在实际编程中用得最多的也是合二为一的写法。
形式如下:
数据类型 变量名 = 要赋的值;
比如:int i = 3;
就表示定义了一个变量 i,并把 3 赋给这个变量。它与
int i;
i =3;
是等价的。
在定义变量时也可以一次性定义多个变量,比如:
int i, j;
这就表示定义了变量 i 和 j。这里需要强调的是,当同时定义多个变量时,变量之间是用逗号隔开的,千万别写成分号。这是很多新手最容易犯的错误,即将逗号和分号记混了。
同样也可以在定义多个变量的同时给它们赋值:
int i = 3, j = 4;
中间还是用逗号隔开,最后别忘记输入分号。
最后需要注意的是,在较老的 C89/C90 标准(也称 ANSI C 标准)中,变量只能在程序的开头定义,或者说变量定义的前面不能有其他非声明或非定义的语句。
(6)c语言voidadd扩展阅读:
在主回答中,提到了变量定义时,变量名通常都是用字母、数字与下划线组合而成,但是实际上,变量名也不是随便组合的,变量定义需要遵循一定的规范,否则容易产生歧义,影响整体程序代码 的可读性。
所以在定义变量的时候,要注意以下命名规范:
(1)、变量名的开头必须是字母或下划线,不能是数字。实际编程中最常用的是以字母开头,而以下划线开头的变量名是系统专用的。命名应当直观且可以拼读,可望文知意,便于记忆和阅读。
标识符最好采用英文单词或其组合,不允许使用拼音。程序中的英文单词一般不要太复杂,用词应当准确。
(2)、变量名中的字母是区分大小写的。比如 a 和 A 是不同的变量名,num 和 Num 也是不同的变量名。当标识符由多个词组成时,每个词的第一个字母大写,其余全部小写。
比如: int CurrentVal;
这样的名字看起来比较清晰,远比一长串字符好得多。
(3)、变量名绝对不可以是C语言关键字,不能有空格。
(4)、变量名的长度应当符合“min-length && max-information”原则。
C 是一种简洁的语言, 命名也应该是简洁的。例如变量名MaxVal 就比MaxValueUntilOverflow 好用。标识符的长度一般不要过长,较长的单词可通过去掉“元音”形成缩写。
另外,英文词尽量不缩写,特别是非常用专业名词,如果有缩写,在同一系统中对同一单词必须使用相同的表示法,并且注明其意思。
⑦ 用C语言解决问题
你可以用一个二维数组代替一维数组:
int num[1000][20],i,j, lenth=20;
int num1[20] = { 1, 2, 3, 4, 5, 5, 6, 1, 4, 5, 5, 7, 1, 5, 3, 8, 3, 5, 9, 1 };
初值 for (i=0;i<lenth;i++) num[0][i]=num1[i];
双重循环语句计算:
for (j=1;j<=1000;j++) for (i=0;i<lenth;i++) num[j][i]=num[j-1][i] + 1;
输出也类似,双重循环。
-----
节省内存方法:
只声明 int num1[20],num2[20]; 初始化 num1[i] 数组
做循环 500 次:
{ 1推算2 : add(num1,num2,lenth);
输出 num1[i] 数组
2推算1: add(num2,num1,lenth);
输出 num2[i] 数组
} 完毕。
⑧ C语言中void是什么意思
void真正发挥的作用在于: (1) 对函数返回的限定; (2) 对函数参数的限定。
1、void的含义:
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:
void a;
这行语句编译时会出错,提示“illegal use of type 'void'”。不过,即使void a的编译不会出错,它也没有任何实际意义。
2、void的使用规则:
规则一:如果函数没有返回值,那么应声明为void类型
在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。例如:
add ( int a, int b )
{
return a + b;
}
int main(int argc, char* argv[])
{
printf ( "2 + 3 = %d", add ( 2, 3) );
}
程序运行的结果为输出:2 + 3 = 5,这说明不加返回值说明的函数的确为int函数。
规则二:如果函数无参数,那么应声明其参数为void。
在C++语言中声明一个这样的函数:
int function(void)
{
return 1;
}
则进行下面的调用是不合法的:
function(2);
因为在C++中,函数参数为void的意思是这个函数不接受任何参数。在Turbo C 2.0中编译:
#include "stdio.h"
fun()
{
return 1;
}
main()
{
printf("%d",fun(2));
getchar();
}
编译正确且输出1,这说明,在C语言中,可以给无参数的函数传送任意类型的参数,但是在C++编译器中编译同样的代码则会出错。在C++中,不能向无参数的函数传送任何参数,出错提示“'fun' : function does not take 1 parameters”。
所以,无论在C还是C++中,若函数不接受任何参数,一定要指明参数为void。
3、void具体使用例子:
定义函数
返回值 函数名(参数1,参数2,参数3,.......)
{内容}
int sum(int a,int b)
{
int c;
return c;}
其中第一个int是返回值 就是别的函数调用此函数时这个函数给他的一个值。
如果调用时不需要返回值,则函数写为
void sum(int a,int b){....} 此时函数没有返回值
如果不需要参数 则int sum(void){...}
此时void的意义为空,就是没有参数的意思
如果都不要 则为void sum(void);
(8)c语言voidadd扩展阅读:
void不能代表一个真实的变量。下面代码都企图让void代表一个真实的变量,因此都是错误的代码:
void a; //错误
function(void a); //错误
void体现了一种抽象,这个世界上的变量都是“有类型”。
void的出现只是为了一种抽象的需要,如果你正确地理解了面向对象中“抽象基类”的概念,也很容易理解void数据类型。正如不能给抽象基类定义一个实例,我们也不能定义一个void(让我们类比的称void为“抽象数据类型”)变量。
参考资料:void(计算机语言关键字)_网络
⑨ 关于c语言利用指针变量求和的问题,请帮忙指正 #include<stdio.h> void add(int
#include<stdio.h>
voidadd(int*a,int*b,int*c)
{
*c=*a+*b;
}
intmain(void)
{
inta=1,b=2;
intc;
add(&a,&b,&c);
}