99问答网
所有问题
当前搜索:
数组指针如何传值
C语言参数
传值
答:
1.实参是
数组
元素,则形参一般是
指针
,指针指向实参数组首地址,也就是将实参的地址传递给形参.形参地址存储
的值
发生变化时,实参的值也将发生变化.2.形参是指针,实参是函数,传递给形参指针变量的值是实参函数的地址.实参和形参的地址指向完全相同,即函数的内存首地址.3.函数的形参和实参都是数组,传递的是...
C++
的数组
传递进函数时,明明是值传递,为什么还是会对原来的数组产生改变...
答:
你传进去
的
是
数组
,其实数组相当于
指针
,数组名就是这些元素的首地址,所以相当于你传了一个指针!当然会对数组产生改变!
C语言,
数组
元素作为参数在自定义函数中交换数值,输出后结果并没有调换...
答:
是的需要引用调用才会改变,void swap2(int &x,int &y)
...传递一个结构体对象时候,这个对象是作为
传值
调用还是传址调用呢...
答:
只要不是
指针
或者
数组
都是
传值
,其实指针也是传递的地址值
c++
指针
交换两个字符串的内容
答:
首先,虽然传递的是地址,但是仍然是属于
传值
调用的范畴。因为
指针
只是用来赋值,并没有被间接引用。那么你是不是想用传址调用呢,就这个程序而言,也是不行的。你希望通过交换str1和str2的值来实现字符串的赋值,是行不通的。因为,在C++中,任何一个
数组的
名,都是一个指针,相信这个你也知道,...
C++中
的指针
符“*”,在
数组
中为什么也相当于一个维。
答:
如果你理解
数组指针
和
指针数组
,那么上面的问题就没什么了。,是指针,里面存储的是数据在内存中的地址。char u[],表示u是数组,u单独使用的话表示数组在内存中的首地址,跟指针很像了,甚至有人就说它是指针。在函数
传值的
时候,它会退化成了指针。char *u;表示u是指向char型数据的指针,很...
函数调用时传给形参的是
数组的
什么值?
答:
若用
数组
名作为函数调用时的实参,则实际上传递给形参
的
是数组首地址。数组首地址数组第一个元素的地址。数组名字本身就是一个
指针
,它是一个指针常量,指向的地址不变。比如定义了一个数组变量,编译器就会在内存中划分了一块地址空间给它,数组名这个指针常量就指向了这块内存空间的首地址,而数组首...
C++中传值参数和引用参数
怎样
区别?
答:
是将p里面的地址值加了1,这是完全想当然。实际上加了sizeof(int)这么多个字节。也就是说加了一个int元素应该占用的字节,这 样在
数组
中我们可以通过这种方式从上一个元素很方便的让指针变量指向下一个元素。p+5的话实际上是加了p+sizeof(int)*5这么多 个字节。 另外一点事
指针的
类型决定了当...
为什么数组名作为参数,会改变
数组的
内容,而其它类型如INT却不讳改变变...
答:
参数传递,都是把你传进去的内容,复制并赋值给一个新的变量。所以一般的类型,把值赋给形参变量,函数中的变化只是形参变量,就与实参无关。而传入
数组
名,实质是传入一个
指针
给形参变量,这个变量指向和实参一样的内存地址。所以,当你在函数里改变形参变量所指向的内容
的值
的时候,就也改变了实参变量...
c语言
指针
和函数的问题
答:
在C语言中,值传递是唯一可用
的
参数传递机制。但是据笔者所知,由于受
指针
变量作为函数参数的影响,有许多朋友还认为这种情况是引用传递。这是错误的。请看下面的代码:int swap(int *x, int *y){int temp;temp = *x; *x = *y; *y = temp;return temp;}void main(){int a = 1, b = 2;int *p1 ...
1
2
3
4
5
6
涓嬩竴椤
其他人还搜
指针数组和数组指针的应用
c语言指针数组和数组指针
指针数组如何赋值
指针数组赋值
指向数组的指针
指针数组的赋值与引用
数组与指针
数组指针定义
数组和指针的关系