函数返回局部变量地址

来源:互联网 发布:股权投资 知乎 编辑:程序博客网 时间:2024/06/06 19:26

示例:

#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;}


原创粉丝点击