#include <stdio.h>
static char *strings[] = {
"ae",
"ghi",
};
char **val = strings;
void print_val(void)
{
printf("%p\n", val);
printf("%s\n", val[0]);
return;
}
#include <stdio.h>
#include <errno.h>
extern char *val[];
extern void print_val(void);
int main(int argc, char *argv[], char *env[])
{
printf("%p\n", val);
printf("%s\n", *(char **)((void **)val)[0]);
print_val();
return 0;
}
你能看出其中的原理吗?
本文详细解析了C语言程序中如何使用指针进行内存地址操作和数据打印,通过实例展示了静态数组与外部函数的交互过程,深入理解C语言底层原理。

8997

被折叠的 条评论
为什么被折叠?



