#include <stdio.h>
#define offset(T, a) ((long)(&(((T*)(NULL))->a)))
typedef char * pchar;
#define ppchar char *
struct Data {
int a;
char b;
double c;
};
void output(int argc, char *argv[], char *env[]) {
printf("argc = %d\n", argc);
for (int i = 0; i < argc; i++) {
printf("argv[%d] = %s\n", i, argv[i]);
}
for (int i = 0; env[i]; i++) {
printf("env[%d] = %s\n", i, env[i]);
}
return ;
}
int main(int argc, char *argv[], char **env) {
output(argc, argv, env);
return 0;
pchar p1, p2;
ppchar p3, p4;
printf("p1 = %lu, p2 = %lu\n", sizeof(p1), sizeof(p2));
printf("p3 = %lu, p4 = %lu\n", sizeof(p3), sizeof(p4));
printf("%ld\n", offset(struct Data, a));
printf("%ld\n", offset(struct Data, b));
printf("%ld\n", offset(struct Data, c));
return 0;
}
函数指针,main函数参数
最新推荐文章于 2024-01-05 15:42:10 发布