c语言函数参数取值符 c语言函数参数

c语言函数参数列表中参数加取址符调用传地址反而会报错

c 语言函数 形参 列表 中 可以是普通变量 或指针变量,不允许 加取址符。

我们提供的服务有:成都网站设计、成都网站制作、微信公众号开发、网站优化、网站认证、宛城ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的宛城网站制作公司

c++ 语言函数 形参 列表 中 加取址符 的参数 叫 “引用”,c 不支持。

------

函数 调用 的实参 类型 要与 形参对应,只有 形参 为 指针变量 的 实参 才可以是 地址。

void f(int x, int *y){};

int a,b;

int *p;

p=a;

调用

可以是 f(b,a);

可以是 f(b,p);

不可以是 f(b,a);

不可以是 f(b,a);

不可以是 f(b,a);

不可以是 f(b,p);

不可以是 f(b,p);

不可以是 f(b,p);

(但愿回答不被封。)

在C语言中函数参数什么时候用“&”取值符呢?

调用函数时查看函数申明

比如

int a(int *)

由于是int *型的输入数据,表示一个存了int型变量的地址

所以就要用取地址符了

C语言各个数据类型取值范围

C语言的数据基本类型分为字符型、整型、长整型以及浮点型,取值范围如下:

c语言中关于变量的取值范围的计算方法:

1、使用函数的返回值。将函数计算出的变量作为返回值返回给其它函数使用。

2、使用函数的参数。将函数参数设置为引用传递而不是值传递,就可以把函数计算出的变量通过此参数给其它函数使用。

3、使用全局变量。将函数计算出的值保存到全局变量中,其它函数就可以使用了。

扩展资料

C语言运算中的数据类型自动转换原则

1、隐式转换

C语言在以下四种情况下会进行隐式转换:

(1)算术运算式中,低类型能够转换为高类型。

(2)赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给它。

(3)函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。

(4)函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。

2、算数运算的隐式转换

算数运算中,首先有如下类型转换规则:

(1)字符必须先转换为整数(C语言规定字符类型数据和整型数据之间可以通用)。

(2)short型转换为int型(同属于整型)。

(3)float型数据在运算时一律转换为双精度(double)型,以提高运算精度(同属于实型)。

其次,有下面的规则。

当不同类型的数据进行操作时,应当首先将其转换成相同的数据类型,然后进行操作,转换规则是由低级向高级转换。

c语言函数参数里的取地址符号是什么意思

就是找到这个变量的内存地址,直接读写

例如:scanf("%d",a);

就是找到a的地址,把读入一个数写到a 的地址中

在例如

p=a;

就是让指针p指向a的内存地址,这样直接对内存读写.有利于提高操作速度.

c语言的函数参数中 &与*

操作符是地址运算,获得变量的存储地址;而*则是间接访问操作符,与指针一起使用,用于访问指针所指向的值,也就是说通过地址访问地址处所存储的变量。

举个例子:

有变量a

=

8,存储在地址0xFFA0处。

a,表示a存储的地址,为0xFFA0,

*(指向a的指针),表示a的值=8,这里括号内的“指向a的指针”其数值等于0xFFA0。

void

fun(char

*p);

//这里的形式参数p是一个指针,所以你要传进来的是个指针变量,也就是地址

void

main(void)

{

char

a=8;

fun(a);

//所以这里你需要计算出地址,然后传给p

}

你可以这样理解,fun()调用时相当于

char

*p=a;

void

main(void)

{

char

a

=

8;

char

*pa;

pa

=

a;

fun(pa);

}

这与上面的表达是等价的。


文章标题:c语言函数参数取值符 c语言函数参数
链接地址:http://myzitong.com/article/hijihh.html