[指针]C语言中指针的高级用法

标签:
c指针高级应用函数指针指向指针的指针 |
分类: C/Cpp |
void add_to_list(struct node **list, int n) {
}
add_to_list(&first, 10);
double integrate(double (*f)(double), double a, double b); //
声明一,表明第一个参数接收函数指针
double integrate(double f(double), double a, double b); //
声明二,不建议使用,表意不明确
result = integrate(sin, 0.0, PI/2); // 调用
void (*pf)(int); // 函数指针变量声明
pf = f; // 函数指针变量赋值
(*pf)(i); //
f(i),函数指针指向的函数的调用,也可以直接用pf(i)
void (*file_cmd[])(void) = {new_cmd, open_cmd; close_cmd,
close_all_cmd, save_cmd, save_as_cmd, save_all_cmd, print_cmd,
exit_cmd}; //
函数指针数组初始化赋值,函数指针数组在函数指针变量后多了[]
(*file_cmd[n])(); //
函数指针数组元素的调用,调用对应的函数,也可以用file_cmd[n]();
int * restrict p; //
p为受限指针,restrict为关键字
void *memcpy(void * restrict s1, const void * restrict s2,
size_t n); // 表明s1和s2不应当重叠
void *memmove(void * s1, const void * s2, size_t n);
struct vstring {
}; //
包含字符串数组的结构,该结构最后一个成员为数组时,长度可省略--就是灵活数组成员
struct vstring *str = malloc(sizeof(struct vstring) +
n);
str->len = n;
前一篇:[链表]C语言中内存分配与链表