col这个符号什么意思!!!

发布网友

我来回答

2个回答

热心网友

col 是从英文单词column变化过来的!没什么特别的意思
它就像你定义的 a,b,c,i,j,k 是以个意思!
用英文单词column的缩写为了方便别的程序员阅读!
column是一列,或一行的意思!

热心网友

#include <stdio.h>
//首先我猜测了col = column 纵队的意思 row 行,排的意思

int *seek(int (*pnt_row)[3]) //这是一个数组,数组的容量是3,元素是指针
{
int i=0,*pnt_col;
pnt_col=*(pnt_row+1); //pnt_row是指向参数中数组的第一个元素的指针 +1表示指向第二个元素
//pnt_col表示参数第二个元素。pnt_col则为指向的指针
for(;i<3;i++)
if(*(*pnt_row+i)>60) //循环 pnt_row依然是指向的指针 +i并在外面用*表示数值依次取 55 65 75
{ //如果这个数字大于60 那么把 就把整个数组的指针赋值给pnt_col
pnt_col=*pnt_row;
break; //然后直接跳出
}
return(pnt_col); //然后返回这个数组的指针 所以此时返回的是指向的指针
}
void main ()
{
static int grade[3][3]=,,}; //定义一个二维数组并初始化数值
int i,j,*pointer;
for(i=0;i<3;i++)
{
pointer=seek(grade+i); //grade此时指向的是
//pointer此时应该是指向的指针
if(pointer==*(grade+i)) //当此时pointer和grade+i就是传递给seek的指针指向的指针相同则执行下面的程序
{
for(j=0;j<3;j++) printf("%d ",*(grade+j)); //因为grade 是指针的指针
//所以这里的输出也是指针的值而不是指针指向的值
//循环的意思输出该指针指向的数组的3个成员的储存位置(指针的值)
printf("\n"); //
} //注意上面"%d "这里有个空格 当输出三次之后换行
}
//while(1); //这个是故意让程序停留在这里
}

//总结
/*
如果我们直接运行:
11104256 11104268 11104280
11104256 11104268 11104280
11104256 11104268 11104280
请按任意键继续. . .
不同的机器不同的时间运行结果都不一样。
因为每个子数组的成员都有大于60的,所以一定会输出每个数据的指针。
如果我们把第一个数组改成就可以看到只会输出两组:
141112 141124 141136
141112 141124 141136
请按任意键继续. . .

有的人会说为什么每一列都是一样的。
因为针对i的for循环来说,其内部的变量都是临时的,每循环一次都会分配空间and释放空间,
而对于一个运行中的程序,相同的数据成员构成,其存储位置大多数情况下都是一样的。所以每一列才会相同。

*/
补充:这个程序太妖了。。。
实际运用中很少会用这么复杂的程序吧。
我其实也是个学生,我也是菜鸟,呵呵。
如果还不懂可以QQ84638372 contact我
共同学习共同进步。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com