重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个算是数据结构的内容讲解的是一个叫做栈类型的数据结构,这个数据结构的特点就是后进先出--最后放进去的数据最先拿出来。pop函数就是拿出数据的操作,push是放入是数据的操作。
创新互联建站-专业网站定制、快速模板网站建设、高性价比临桂网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式临桂网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖临桂地区。费用合理售后完善,十余年实体公司更值得信赖。
内容拓展:
pop函数呵push函数的使用:
#include stdio.h
#include unistd.h
#include pthread.h
void *clean(void *arg)
{
printf("cleanup: %s \n",(char *)arg);
return (void *)0;
}
void * thr_fn1(void * arg)
{
printf("chread 1 start \n");
pthread_cleanup_push((void *)clean,"thraed 1 first handler");
pthread_cleanup_push((void *)clean,"thread 1 second handler");
printf("thread 1 push complete \n");
if(arg)
{
return ((void *)1);
}
pthread_cleanup_pop(0);
pthread_cleanup_pop(0);
return (void *)1;
}
//输出结果: chread 1 start -thread 1 push complte
//push和pop框起来的代码,不管正常退出还是异常退出,都将执行清除函数,但是存在特例:不包括return 退出。
关于 pop 函数,我不太确定题主说的是哪个函数,因为 C 语言的标准函数库是没有 pop 这个函数的。如果题主说的是 C++ 的 Stack 类中的 pop 函数的话,它并不是一个缩写,因为从栈中取值的操作就叫做 pop。
然后就是查询单词原型的网站,因为 C 语言好多函数库中的函数名都是按照很奇怪的方法缩写的,所以基本上没有一个专门查全称的网站。不过题主可以参考
这个网站里面虽然没有指出具体的缩写方式,但是能很好地解释 C 语言标准函数库的所有函数的作用。通过它的介绍你应该会对函数的全称有一个大概的理解。比如说这个针对 stdio.h 头文件中所定义函数的解释:
不光是 C 语言,C++ 的标准类库的信息也可以在这个网站中找到。
在函数定义时写int
pop(int
s,
int
e)是说明参数是直接引用的参数
在函数调用时写pop(a,
b);[注意这个不是函数定义,而是调用语句],
这里的是取地址的运算,与函数参数定义时的不是同一个含义,因此在这里不能理解是引用传递的意思,而是取a和b的地址传递给函数的参数变量s和e(应该是调用第3个函数)
第2个函数调用直接写pop(a,b);即可实现
与它前面的类型SElemType一起把变量e定义为一种引用类型的变量,引用类型是C++相较于C语言新增加的语言特性,具有与指针类似的作用。把一个变量定义为引用类型的方法与定义为指针类型的方法也类似,把*改成就行了。比如:
//全局变量
int n=1;
void f1(int n)
{
n=2;
}
void f2(int *n)
{
*n=3;
}
void f3(int n)
{
n=4;
}
f1(n);
f2(n);
//调用参数为引用类型的函数时,直接传递实参名作参数就行了
f3(n);
函数f2和函数f3的调用都会改变全局变量n的值。