示例:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
const char *get_str1();
const char *get_str2();
int *add(int a, int b);
int main() {
const char *str1 = get_str1();
const char *str2 = get_str2();
int *sum = add(2, 3);
printf("str1: %s.\n", str1);
printf("str2: %s.\n", str2);
printf("sum: %d.\n", *sum);
return EXIT_SUCCESS;
}
const char *get_str1() {
//此处为返回静态内存的地址
const char *str = "Hello world1";
return str;
}
const char *get_str2() {
//此处为返回局部变量的地址
const char str[] = "Hello world2";
return str;
}
int *add(int a, int b) {
//此处为返回局部变量的地址
int ret = a + b;
return &ret;
}