社区
C语言
帖子详情
简单:函数的参数列表问题(c)
vmape
2003-09-12 09:46:02
在C里面,我声明一个函数时这么写的:
void squeeze(int &s_1[],int &index_1)
然后程序报错?!s_1[5000]是用来存放字符的,我应该怎么写才对?谢谢了!
...全文
36
15
打赏
收藏
简单:函数的参数列表问题(c)
在C里面,我声明一个函数时这么写的: void squeeze(int &s_1[],int &index_1) 然后程序报错?!s_1[5000]是用来存放字符的,我应该怎么写才对?谢谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
robbie24
2003-09-13
打赏
举报
回复
参数为数组时,编译器一律给你传递(数组首元素)的首址.
没有什么好选择的,无论你愿不愿意.
况且在C中可以使用引用吗?
晨星
2003-09-13
打赏
举报
回复
C中因为没有引用,任何企图在函数内部修改实参的动作都需要传递指针,scanf也不例外。
晨星
2003-09-13
打赏
举报
回复
scanf中的是指针,不是引用。
你怎么总是糊里糊涂的,^_^
vmape
2003-09-13
打赏
举报
回复
我找到了解决问题的方法:大家看看对不对,编译确实通过了。
void squeeze(char s_1[],int index_1);
char s_1[5000];
把int 改成char就成了??!!!!!可是确实成了,就差这么一点。
我是先学的C++,我们学校要求学C,出了不少的练习题,我没有办法,总不能不做啊?^_^无奈啊。
C里面函数参数确实没有引用,但是在scanf里面出现过引用的啊。
晨星
2003-09-13
打赏
举报
回复
To:dragonlw(潜龙在渊)
你说的对,可ggg82()说的也对。因为“指针”一词本来就比较模糊,大多数时候,人们把它作为“指针变量”的同义词,但也有许多时候,人们把它作为“地址”的代名词。
就我个人而言,我倾向于明确的用“指针变量”或“地址”来分别表明自己的意思,而不用“指针”这种模棱两可的词。
bailingke
2003-09-13
打赏
举报
回复
C语言没有引用
dragonlw
2003-09-13
打赏
举报
回复
数组名就是指针??
不对吧,他们还是有区别的
数组名表示一个地址,但名字本身并不能想
指针那样的++,--的。就是不能随意的改变。呵呵
ggg82
2003-09-13
打赏
举报
回复
数组名就是指针,若在后加[],那不成了指针数组了,而原来是char(int)数组,当然不对了。
csdn5211
2003-09-13
打赏
举报
回复
难道搂主是先学c++后学c吗?
晨星
2003-09-13
打赏
举报
回复
void my_printf(int* array);
数组名是个地址,因此可以赋给指针形的形参。比如:
#include <iostream>
using namespace std;
void my_printf(int* array , int size);
void main()
{
int a[5] = {1 , 3 , 5 , 7 , 9};
my_printf(a , 5);
}
void my_printf(int* array , int size)
{
for(int i = 0 ; i < size ; i++)
cout << array[i] << " ";
cout << endl;
}
vmape
2003-09-13
打赏
举报
回复
我需要在squeeze()函数中操作数组,因此把数组传递给squeeze()函数啊,要不然我在main()里面输入的数组可以直接在squeeze()使用么?这么说吧,我要写一个简单的程序,是main()里面定义一个数组,要求输入5个数字,然后我自行定义一个my_print()函数,要求在my_print()函数中把数组打印出来,我应该怎么声明my_print()函数?我怎么把数组传递给my_print()函数啊?
是void my_print(int array)就可以了?还是要void my_print(int array[size])还是要加上引用void my_print(int &array)?我觉得不管怎么写编译器都报错啊?!我用的是TC2
yulongcn
2003-09-12
打赏
举报
回复
数组用指针传递就可以了
hpho
2003-09-12
打赏
举报
回复
typedef int S_1[5000];
void squeeze(S_1& s_1,int &index_1){}
int a[5000];
squeeze(a, a[0]);
晨星
2003-09-12
打赏
举报
回复
同意楼上。
不过我很奇怪,你引用数组干吗?
想修改数组中的元素,不需要引用也能半办到,而如果你企图修改数组的首地址本身,那恐怕引用也办不到。
ruanzheng13
2003-09-12
打赏
举报
回复
不能声明引用的数组
C语言中的回调
函数
实例
在C语言中一般用typedef来为回调
函数
定义别名(参数名)。 别名通过宏定义typedef来实现,不是
简单
的宏替换。可以用作同时声明指针型的多个对象。 比如: 代码如下:char *pa,pb;//pa是一个char型指针,但pb是一个...
C语言中数组作为
函数
的参数以及返回值的使用
简单
入门
函数
通过数组作为参数 如果想通过一个一维数组作为
函数
的参数,就必须声明
函数
形式参数,使用以下三种方式与所有三个声明方法之一产生类似的结果,因为每一种方式告诉编译器,一个整数指针将会要被接收。类似的方式...
三天python基础课程
练习:while 循环列表
函数
5.1
函数
的定义和作用 定义
函数
规范 调用
函数
5.2
函数
的参数和返回值 5.3 局部变量与全部变量 5.4 位置参数与关键字参数 5.5 缺省参数与多值参数 5.6 数据的不可变类型与可变...
简单
比较C语言中的execl()
函数
与execlp()
函数
C语言execl()
函数
:执行文件
函数
头文件: #include 定义
函数
: int execl(const char * path, const char * arg, ...);
函数
说明:execl()用来执行参数path 字符串所代表的文件路径, 接下来的参数代表执行该...
简单
对比C语言中的fputs()
函数
和fputc()
函数
函数
说明:fputc 会将参数c 转为unsigned char 后写入参数stream 指定的文件中. 返回值:fputc()会返回写入成功的字符, 即参数c. 若返回EOF 则代表写入失败. 范例 #include main() { FILE * fp; char a[26] = ...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章