c语言函数赋值 c语言赋值方式

请问下c语言中的赋值是什么意思,最好把C语言里面的术语都解释下,谢谢了我说个通俗版的吧 , 你看要是还有什么不明白 , 再说
“赋值”就是将一个数值或字符赋给一个变量,这样这个变量的值就是这个数值或字符了 。
比如:
int a;
a = 10;
这样就把10赋值给a了.
变量常量:
变量就是没有固定值,只是用字母或其它合法名称表示,可以随意给定值的量 。
常量就是有固定值得量(可以是字母也可以是数字)
比如:
int a; //a就是变量
你可以
a=10; //把10赋值给a,
也可以
a=20; //再把20赋值给a.
常量就是你定义过赋了值然后就不可以变了 。
函数:
每个程序都有一个主函数
int main (int argc, char *argv[])
{...}
写小程序时,直接写成
int main()
{
...主程序内容...
return 0;
}
但是如果都写到主函数中可读性能很差,有时候用好几次的功能你就要写好几次,不方便使用,所以把那些功能抽象出来
int main()
{
getData(); //调用"读取数据"函数(调用可以认为是你用什么功能的时候,就把能实现这个功能的东西叫出来(打出来))
processData(); //调用"处理数据"函数
outputData(); //调用"输出数据"函数
return 0;
}
然后你再具体实现这三个函数,
实现方法就是在主程序前先声明函数(声明可以认为是用一个标准的方法定义),然后把需要的语句写进去.
另外你可以看看潭浩强编的关于C/C方面的书(比如《C程序设计》(第二版)还有实验和上机指导,非常好的C语言入门书籍) , 看过可以理解的好些
看书的时候要仔细看看小程序,很多大程序的核心程序或是算法都是一些小程序实现的 。
C语言问题编写赋值函数#includestdio.h
#includestdlib.h
int assignment(int *,int);
void print(int *,int);
void main()
{
int sz,rt;
int *p;//定义一个指针c语言函数赋值,在子函数里再动态分配内存
printf("输入datac语言函数赋值的数据元素个数:");
scanf("%d",sz);
rt=assignment(p,sz);//调用赋值函数
printf("数组最后元素为c语言函数赋值:%d\n",rt);
}
int assignment(int data[],int size)//按 Fibonacci 数列对数组元素依次赋值
{
int res;
data=https://www.04ip.com/post/(int *)malloc(size*sizeof(int));
if(size==1)
data[0]=1;
else if(size==2)
【c语言函数赋值 c语言赋值方式】 {
data[0]=1;
data[1]=1;
}
else
{
data[0]=1;
data[1]=1;
for(int i=2;isize;i)
data[i]=data[i-1] data[i-2];
}
print(data,size);//调用打印函数
res=data[size-1];//最后一个元素是data[size-1]
free(data);//释放内存
return res;
}
void print(int data[],int size)//打印数组
{
for(int i=0;isize;i)
printf("%d",data[i]);
}
有注释c语言函数赋值的,不明白的再讨论
C语言中的函数赋值问题#include
stdio.h
f(int
a,int
b,int
m){
//这个函数是个完全没意思的函数
m=a*b;
return
;
//原因在这
这里直接return了
没指明返回哪个变量
那它的意义就只是说f函数结束了
其实什么也没返回
}
void
main(){
int
m=1;
//这里对m赋值1
f(2,3,m);
//运算是完全没意思的运算
所以最后结果是1
printf("%d",m);
}
为什么运行结果是m=1?????
//
在f函数那
return
m
就能得到你想要的
不过要把主函数里的倒数3行改成
m=f(2,3,m)
怎么进行字符串赋值?C语言在C语言中c语言函数赋值,字符串的赋值主要有两种方法,第一种是通过指针的方式直接赋值,第二种是通过数组直接赋值 。
1、指针式赋值 。
通过程序的运行情况,可以知道c语言函数赋值:char *p = "hello";这种字符串的赋值方式是完全没有问题的 。要理解这种赋值方式,首先得理解双引号(特别注意:这个是双引号,不要赋值的时候给弄了个单引号)在这个语句中做了什么工作 。双引号主要做了3个工作,分别是:
(1)申请了空间(在常量区),存放了字符串 。
(2)在字符串尾加上了“\0” 。
(3)返回地址 。
这里所返回的地址就赋值给了char *类型的指针变量p 。
2、通过字符数组直接把字符串赋值 。程序如下:
扩展资料:
字符串赋值需要注意的一些问题:
直接把字符串赋值给数组名(也就是数组首元素的首地址)是不行的 。
会出现以下错误:
参考资料:
百度百科--字符串赋值
什么是C语言库函数中的赋值语句?赋值语句是由赋值表达式再加上分号构成的表达式语句 。其一般形式为:变量=表达式;
赋值语句的功能和特点都与赋值表达式相同 。它是程序中使用最多的语句之一 。
1 由于在赋值符“=”右边的表达式也可以又是一个赋值表达式,
因此 , 下述形式
变量=(变量=表达式);
是成立的,从而形成嵌套的情形 。
其展开之后的一般形式为:
变量=变量=…=表达式;
例如:
a=b=c=d=e=5;
按照赋值运算符的右接合性,因此实际上等效于:
e=5;
d=e;
c=d;
b=c;
a=b;
注意在变量说明中给变量赋初值和赋值语句的区别 。
给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾 。例如:int a=5,b,c;
在变量说明中,不允许连续给多个变量赋初值 。
如下述说明是错误的:
int a=b=c=5
必须写为
int a=5,b=5,c=5;
而赋值语句允许连续赋值 。
注意赋值表达式和赋值语句的区别 。
赋值表达式是一种表达式 , 它可以出现在任何允许表达式出现的地方,而赋值语句则不能 。
下述语句是合法的:
if((x=y 5)0) z=x;
语句的功能是 , 若表达式x=y 5大于0则z=x 。
下述语句是非法的:
if((x=y 5;)0) z=x;
因为x=y 5;是语句,不能出现在表达式中
C语言用函数实现数组赋值如果你非要用指针的话 , 可以把数组的形式改写成指针的形式,就像一楼的
void Chg_Array(int array[], int size, int value)
{
int i;
for(i=0;isize;i)
*(array i)=value ;
}
c语言函数赋值的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言赋值方式、c语言函数赋值的信息别忘了在本站进行查找喔 。

    推荐阅读