- 论坛徽章:
- 0
|
- #include <stdio.h>
- int empty_array(char *array, int size)
- {
- unsigned long *p = (unsigned long*)array;
- int n = sizeof(unsigned long) / sizeof(char);
- unsigned long mask = 1UL;
- for (; (char*)p < array + size - n; p++)
- {
- if (*p && mask)
- {
- return 0;
- }
- }
- char *tmp;
- for (tmp = array + size - n; tmp < array + size; ++tmp)
- {
- if (*tmp)
- return 0;
- }
- return 1;
- }
- int main()
- {
- char buffer[1024] = {0};
- printf("empty = %d\n", empty_array(buffer, 1024));
- buffer[1] = 1;
- printf("empty = %d\n", empty_array(buffer, 1024));
- return 0;
- }
复制代码 |
|