问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言指针变量的赋值和做函数的参数

发布网友 发布时间:2022-05-02 13:00

我来回答

4个回答

热心网友 时间:2022-06-20 04:20

1、指针变量的赋值,分为定义时赋值(初始化)和单独赋值,如:

int x ;
int * px=&x ; //定义时赋值,也称初始化,注意这里的*是跟随int的,即变量px是int *类型变量!  实际上的赋值语句是px=&x ;
int * py ;
py=&x ; //单独赋值,将py指向x
*py=10 ; //这里的*,是引用指针中的数据操作符,*跟随的变量必须是指针类型变量,否则会出错!  *py就是x,这里相当于x=10;

2、指针变量作为函数的参数时,子函数可以通过指针引用实参地址中的数据,达到修改实参地址中的数据。如:

#include <stdio.h>
void func( int a, int b, int *pmax )
{
    if ( a>b ) *pmax=a;
    else *pmax=b ;
}
void main()
{
    int a=2,b=3,max=0;
    func(a,b,&max ); //这里将变量max的地址传递到子函数,子函数中通过该地址,可以修改max的值,达到子函数结束后,max能带回运算结果的效果。
    printf("max=%d\n", max );
}

热心网友 时间:2022-06-20 04:21

左边的GetMax函数返回一个int类型的max
右边的GetMax函数没有返回值,函数参数是int类型的变量a,b,c和指向int类型变量的指针变量m
在调用GetMax函数时,函数参数中的max是指针变量,调用指针都要加上&表示调用的是指针地址。你这样记好了,如果遇到指针,定义函数的参数中要加*,调用函数的参数中要加&,一般都是这个规律。追问嗯!我的意思是*pi=&i和px=&x吧,右边都是&加一个字母,为什么左边一个有*一个没有。你能解释一下*pi是指的什么,&i、px又是指的什么么?麻烦(此处是小白一只==

热心网友 时间:2022-06-20 04:21

左边传的是数值。这样传过去,max这个变量自己的值不会出现变化。靠return来返回运算结果。想应的你要用返回值,也要用东西来接着他。
右边传过去的是max的地址。根据计算结果会改变max的值。直接输入地址我没试过。不建议人脑来指定内存地址,毕竟你不知道你指定的这组数字代表的内存现在装了些什么。

热心网友 时间:2022-06-20 04:22

是一样的,*pi=&i只是在定义的时候把 i 的地址给 pi指针(px指向x的地址)。“为什么右边同样是地址,左边不相等呢?”这段不知道什么意思?

它们的区别是 左边是利用返回值来读函数,而右边是利用函数调用, 因为只有只有指针才能修改地址的值,要传个地址给它,调用函数中的max要取 *,获取它的值。追问嗯!我的意思是*pi=&i和px=&x吧,右边都是&加一个字母,为什么左边一个有*一个没有。你能解释一下*pi是指的什么,&i、px又是指的什么么?麻烦(此处是小白一只==

C语言指针变量的赋值和做函数的参数

1、指针变量的赋值,分为定义时赋值(初始化)和单独赋值,如:int x ;int * px=&amp;x ; //定义时赋值,也称初始化,注意这里的*是跟随int的,即变量px是int *类型变量! 实际上的赋值语句是px=&amp;x ;int * py ;py=&amp;x ; //单独赋值,将py指向x*py=10 ; //这里的*,是引用指针中的数...

用vlookup双重条件取值

在Excel中,使用`VLOOKUP`函数进行单一条件查找非常常见,但`VLOOKUP`本身并不直接支持双重条件。然而,你可以通过一些间接方法实现。一种方法是将两个条件合并为一个标识符(例如,通过连接或串联),然后在另一个区域中查找此标识符的对应值。这通常涉及到辅助列或辅助表,这些列或表将两个条件合并为一个可以在`VLOOKUP`中搜索的单一值。另一种方法是使用其他函数(如`INDE电商平台`和`MATCH`组合)来实现更复杂的查找逻辑,这允许你基于多个条件检索数据。仅需3步!不写公式自动完成Excel vlookup表格匹配!Excel在线免,vlookup工具,点击8步自动完成表格匹配,无需手写公式,免费使用!

c语言指针赋值德问题

函数调用inv(a,10,&amp;max,&amp;min);就是将数组a的首地址取出来赋值给临时变量x,10赋值给n,(主程序中的变量)max的地址赋值给(参数临时变量)max,(主程序中的变量)min的地址赋值给(参数临时变量)min。由于参数的临时性,去直接修改参数变量的值,无法实现将修改后的值返回给调用者,只能利用指针型变量...

c语言中如何把函数赋值给一个变量

在C语言中,可以使用函数指针来将函数赋值给一个变量。函数指针是一个指针变量,它指向函数的地址,可以通过将函数名作为参数传递给指针变量来实现赋值。例如,如果要将函数add()赋值给变量p,可以使用函数指针int (*p)() = add;。这个语句声明了一个指向函数的指针变量p,它的返回类型为int,参数列表...

c语言 指针如何赋值

1、变量的指针就是变量的地址。存放变量地址的变量是指针变量。即在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个变量的地址或称为某变量的指针。2、为了表示指针变量和它所指向的变量之间的关系,在程序中用“*”符号表示“指向”。3、定义指针变量.对...

C++指针、数组、引用、变量作函数参数的问题

1, 变量作为参数,这是单向值传递。即将数据传给被调函数后,与调用函数就不相关了,必须通过函数值返回操作结果。如有函数声明:void swap(int a,int b); //功能是交换a,b值,但事实上对调用函数没有影响,因为swap函数的局部变量a,b在该函数执行完释放掉了,其值也就丢失了。2. 指针、数组...

C语言中指针变量作为函数参数和一般变量作为函数参数的区别

一般变量作为形参,是不能改变实参值的哦,要返回数据就用return;指针指向真实的地址,不重新分配内存,所以调用函数后,如果函数里改变了指针指向的值,那这个数就真的变了。调用就是用函数名,还要传送相应的调用参数。

在C语言中能否直接给指针指向的数据赋值?为什么?

可以,但int *p;*p=7;这样不行。因为“能直接给指针指向的数据”赋值,而这里的p还没有指向,所以不能赋值,这种指针有个名字叫“悬浮指针”,是不能给它赋值的。这样才可以:int a,*p=&amp;a;*p=7;实际上就是使a等于了7。

C语言如何把指针指向的值赋值到变量上。。。

要将指针指向的值赋值到变量上, 需要将指针指向的值取出,然后执行赋值操作。对指针取值需要使用取值运算符*,这个符号和乘相同,但功能不同。用于取值时,*为单目运算,与后续的指针相结合,实现取指针指向的值的效果。比如 int a = 10;int b;int *p = &amp;a;这时p指向变量a的地址,指向的值为10...

c语言求解 指针变量作为函数参数为什么用void 定义而且不用返回值就能...

*p这个是取p指针保存的地址里面的值,更改的也是保持的地址里面的值。而函数中传递的是变量的拷贝,比如指针传递的就是他保存的地址 如果在函数中对他保存的地址改掉,那么是不影响主函数中的变量的 错误的原因是scanf中是用英文的逗号,而你输入的是中文的逗号,切换输入法就可以了。

C语言中用函数做函数的形式参数的问题

因此可以用一个指针变量来指向这个这个函数名,这样就相当于指向这个函数了。所以下面的max,min,add函数都是一个地址,分别调用时就是赋值p=max,p=min,p=add,也就是(*p)(x,y)分别就等于max(x,y),min(x,y),add(x,y).程序在win-tc和Dev-c++下调试通过。include &lt;stdio.h&gt; include &lt;conio...

指针变量和指针的区别 c语言指针赋值给指针 指针变量可以直接赋值吗 指针变量如何定义与赋值 指针变量可以用浮点赋值吗 一个变量的指针是指 只能给指针变量赋什么值 指针变量的定义 只能给指针变量赋
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
赵烈文预言 佛山市麦典卫浴有限公司(雷丁卫浴)设计风格 欧洲杯中文广告是虚拟的吗 欧洲杯中国品牌广告 欧洲杯的中国广告牌 欧洲杯赛场上的中国广告是真的吗 欧洲杯中文广告牌为何霸屏 欧洲杯广告牌为啥都是中国的 欧洲杯广告怎么全是中国的 急~暑假想从南京到丽江玩...一些问题~! C语言中的这样赋值语句是啥意思? C语言中double 和int型的数据之间可相互赋值? 在C语言中,定义一个整型变量后,给它赋初值,然后要怎样赋值,才能... 电脑那个按键是中文拼音 电脑打拼音是哪两个键 C语言int 赋值问题 python怎么发送proto组成的包 C语言中 怎么给int (*buf)[10]赋值 c语言中int类型赋值给字符串怎么弄啊? C语言中这个赋值语句正确吗?为什么?y=int(x);这个语句错在哪里? C语言中如给一个int型的变量赋值int a=4;和int a;a=4;两种方式有区别吗? c语言,int赋值给char C语言中的赋值int a=1,b=2; 和 int a=1;b=2;两个都对吗? C语言中什么是逗号表达式?c=int(a+b)是赋值语句吗?谢谢 电脑打拼音的快捷键是什么 C语言中赋值语句有什么规则要求 电脑按哪个键变拼音 格力空调制热太阳图标旁边还有一个圆圈里面是太阳是怎么回事?_百度问一问 逐渐远离朋友圈的中年女人,命会变得越来越好吗? 新号新注册的告知限额了怎么办? 关于c语言中int i=10这个语句有关的立即数赋值的问题 c语言中int定义变量时应注意些什么?何时需要加初值,何时不需要? C语言中int后是一个带有小数的数字,那么它的值是多少? c语言 指针如何赋值 c语言中赋值 a=2;b=3;与a=2,b=3;哪个是正确的写法 马来西亚森达美是什么企业? 蒙汉情深何忍别天涯碧草话斜阳用生动语言描绘情境50字 大家帮忙想一下 纳兰容若公子都写过什么,写完的是哪个 仙剑奇侠传三演重楼的那个的所有资料,包括图 “WBW水之美”国际集团公司的详细介绍? 马来西亚中国公司在那很多么 悬赏30!!求薛涛诗一首!!!(含&quot;清风素面满楼香&quot;的那首) 学校封校了快递进不来,没烟了怎么办 哪位大哥推荐点好看的小说 长点的 起码要五百章吧 谁有全元曲的书呀,请查一下汪元亨的一句话? 一千四年光年等于多少公里要多久才飞到 1400万光年距离是多少 现在飞船最远能飞多远?1400光年的话要飞多久大概 ? 光年什么概念?1400光年什么概念?人目不转看1400年才能看到的东西对吗?难道科学寿长超1400年