1、返回數組
// demo.cpp : 定義控制台應用程序的入口點。 // #include "stdafx.h" #include<stdio.h> char *myString() { char buffer[]="hello"; char *s = "Hello World!"; return buffer; } int main(int argc, char **argv) { printf("%s\n", myString()); return 0; }
運行結果:輸出了未知的數據
隨着函數運行的結束,棧區內存釋放,字符數組也就不存在了,所以會產生野指針,輸出結果未知
二、返回指針
// demo.cpp : 定義控制台應用程序的入口點。 // #include "stdafx.h" #include<stdio.h> char *myString() { char buffer[]="hello"; char *s = "Hello World!"; return s; } int main(int argc, char **argv) { printf("%s\n", myString()); return 0; }
運行結果: