typedef int (&rai)[10]是什么意思

smlt 2003-08-06 10:24:47
谢谢!
...全文
104 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerfox 2003-08-06
  • 打赏
  • 举报
回复
O , 是数组的引用
smlt 2003-08-06
  • 打赏
  • 举报
回复
typedef int count
aimheliopause 2003-08-06
  • 打赏
  • 举报
回复
rai等同于int[10]的引用方式

但是不光可以用在函数参数
例如:
int aa[10];
rai bb = aa;
也是可以的,
这个时候,bb和aa是同一个数组
bb只是aa的别名。
junglesong 2003-08-06
  • 打赏
  • 举报
回复
同意 xiaoyunet(快乐的小猪)
rai是指向有十个元素的int数组的引用.

请看下面(为了简便我改成了五个元素):

#include "stdafx.h"

typedef int (&rai)[5];

void foo(rai v)
{
for(int i=0;i<5;i++)
printf("%d\t",v[i]);
printf("\n");
}

int main(int argc, char* argv[])
{
int tt1[5]={1,2,3,4,5};
int tt2[5]={5,4,3,2,1};
int tt3[5]={11,22,33,44,55};

foo(tt1);
foo(tt2);
foo(tt3);
return 0;
}
ck_chuyun 2003-08-06
  • 打赏
  • 举报
回复
rai就代表了int (&)[10]
junglesong 2003-08-06
  • 打赏
  • 举报
回复
mk
xiaoyunet 2003-08-06
  • 打赏
  • 举报
回复
这个rai只能用在函数的参数中,
如:
int foo(rai v);

v是大小为10的整数数组的引用。
smlt 2003-08-06
  • 打赏
  • 举报
回复
up
JerKii 2003-08-06
  • 打赏
  • 举报
回复
以上各位说得都对,其实这跟定义一个函数类型指针是一样的:

typedef int(* _PMYFUN1)(int i);
typedef int(& _10ARR)[10];

int main(int argc, char** argv)
{
int arr0[10];
_10ARR arr1 = arr0;
arr1[0] = 0;

_PMYFUN1 pMyfun = (_PMYFUN1)myfun1;
pMyfun(0);
}

int myfun1(int i){
// ...
}

JerKii

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧