分类: LINUX
2013-12-20 13:15:18
指针+1的操作,相当于取同类型下一个元素的地址,所以只有是指针才能正确,防止传进来的是数组。 例如: int a[4]; typeof(a) : int [4] typeof(a+1): int *+1还可以预防宏调用时误传结构。 例如: struct kfifo k; kfifo_reset(&k); // 正确 kfifo_reset(k); //引发编译器错误,而不是到运行期coredump 所以typeof(x + 1)主要是用来检查传进来的参数确保是指针。