- 论坛徽章:
- 0
|
配合这段代码看你就明白是为什么了。
- #define C_STRING_WITH_LEN(X) ((char *) (X)), ((size_t) (sizeof(X) - 1))
- #include <stdio.h>
- struct XX
- {
- char* str;
- int strLen;
- };
- int main(int argc, char** argv)
- {
- struct XX foo[]={
- {C_STRING_WITH_LEN("aaaaaaaaa")},
- {C_STRING_WITH_LEN("da da di di bang aodafl")},
- {C_STRING_WITH_LEN("len")},
- {C_STRING_WITH_LEN("apple?")},
- {C_STRING_WITH_LEN("vim is easy?")},
- {C_STRING_WITH_LEN("how long will it take? master")},
- {NULL, 0}
- };
- int i = 0;
- for(i=0;i<5;i++) {
- fprintf(stdout, "%s, %d\n", foo[i].str, foo[i].strLen);
- }
- return 0;
- }
复制代码 |
|