导航

2011年12月23日

摘要: 一,符号解析规则声明表示告知编译器该变量的存在,如:int a;而定义不仅告知编译器该变量的存在,还同时为该变量赋值,如:int a=9;在声明时不为该变量分配存储空间,定义时会为其分配内存空间。当该变量在其作用域内只有声明没有定义时,编译器会自动将第一个声明认为是该变量的定义,如:int f(int b){int a;//此时由于在该函数内找不到a的定义,因此该声明被认为是变量的定义,分配了四个字节的内存空间a=3;//此时不是定义,而是赋值。return a+b;}对结构体的赋值,比如typedef struct{int a;} SS;SS i={3};//正确,用{3}对结构体i进行初始 阅读全文

posted @ 2011-12-23 22:52 网名还没想好 阅读(399) 评论(0) 推荐(0) 编辑

摘要: 回调函数的另一个典型的作用是实现类似C++的泛型算法。如qsort的实现等等。 下面是我利用回调函数的特性来写的一个泛型函数,该函数的功能是在任意一组对象中求出其最大值,该对象可以是char型,也可以是int型......不多说了,直接看程序吧:#include <stdio.h>typedef int (*cmp_t) (void*, void*);/* 回调函数1: 对比的是char类型对象 */int cmp_char_data(void* a, void* b){ char para1 = *((char*)a); char para2 = *((char*)b); if( 阅读全文

posted @ 2011-12-23 21:55 网名还没想好 阅读(450) 评论(0) 推荐(0) 编辑