C语言问题

fut(int**s,int p[2][3]) ......
{**s=p[1][1];}
main()
{int a[2][3]={1,3,5,7,9,11},*p;
p=(int*)malloc(sizeof(int)); ........
fut(&p,a);
print("%d\n",*p);
请问打省略号的是什么意思?我学C不全面 有的章节没研究过
**s到底是什么 是指针(地址)还是值还有一个问题SQR在C中是怎样的意思十分感谢

省略号的部分就表示有操作系统分配一块sizeof(int)大小的空间,然后用指针p来指向它。
指向就表示在变量p里记录分配出的空间的地址。
如果你用
printf("%04x",p);的话就可以看到分配出空间的首地址。
**s就是指针的指针,比如:
int a;//定义一个int变量
int *p;//定义一个指向int变量的指针
int **pp;//这个就是定义一个指向int类型指针的指针了
a=100;
p=&a;
pp=&p;
每个变量都有自己的地址,也有自己的值,这两个需要区分清楚。
变量的地址是由操作系统分配的,所以每次运行程序不一定相同,为了方便描述,我假设在一次运行中三个变量的地址分别是:
a:0x10000000
p:0x20000000
pp:0x30000000
就是三个变量在内存里的位置分别就是以上3个。
运行a=100;后a的值就是100,但地址还是不变的。
运行p=&a;后p的值就变成了0x10000000,但p地址还是0x20000000,a的值还是100,a的地址还是0x10000000
运行pp=&p后其他什么都没变,但pp的值就变成了0x20000000
从这里就可以看出来,用p来读出a的值就是*p;用pp来读出a的值就是**p
sqrt是c函数库里的一个函数,他的作用是开根号
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-04-11
省略号表示“还可能有另外一些参数”
一般来说,只有在那些参数数目和参数类型都有变化的情况下才需要省略号,是可变参数

int **s,这是一个二维指针,就是指向一级指针的指针。简单地说,如果一个二级指针指向一个一级指针,那么这个二级指针的值就是那个一级指针的地址。就像如果一个一级指针指向一个变量,那么这个一级指针的值就是那个变量的存储地址,这样容易理解,你要是定义一个int *p,那么*s=p,就是这样的,*(*s)=*p=a[0][0].
第2个回答  2008-04-11
我学c也不强 随便说两句
**s是一个指针变量 里面的值是一个地址 是p指针的地址
也就是s是指向p的指针 sqrt是开根号的意思 但是sqr ……
第3个回答  2008-04-11
给p变量初始化,就是在内存中开辟一块空间给p
可以查下malloc函数,还有什么callloc之类的

**s是指向地址的指针,存放的是地址的地址本回答被提问者采纳
第4个回答  2008-04-11
**s 是指向指针的指针

还有 指向指针的指针的指针

还有 指向指针的指针的指针的指针......

指针 其实比较难学`
相似回答