【发布时间】:2014-10-24 13:03:10
【问题描述】:
我刚学了指针,我写了一个非常简单的程序来检查我理解的是否正确;我的想法是创建一个简单的函数,将整数值作为输入并返回其地址。
尽管这应该是世界上最简单的事情,但编译后我收到一条警告消息,但我不知道为什么....
#include <stdio.h>
#include <stdlib.h>
// returnType functionName(type arg1, type arg2)
int* return_me(int);
int main(){
int x = 1;
int *p;
p = &x;
printf("p: %p\n", p);
p = return_me(x);
printf("p: %p\n", p);
return 0;
}
int* return_me(int num){
return #
}
我应该得到相同的结果,但我没有......我在哪里搞砸了?
这是警告:
pointers.c: In function ‘return_me’:
pointers.c:21:2: warning: function returns address of local variable [-Wreturn-local-addr]
return #
【问题讨论】:
-
向好问题迈出的第一步:除了说您收到警告消息外,还要发布警告消息。
-
局部变量num与变量x不在同一内存位置