m*******o 发帖数: 264 | 1 #include
using namespace std;
char* f(int i);
void main()
{
cout << f(1) << endl;
}
char* f(int i) {
char buffer[20];
strcpy(buffer, "test");
return buffer;
}
函数f到底返回的是什么,应该是个指向char类型的指针吧。
但为什么cout << f(1); 输出的是整个array: test?
还有return buffer; 返回的是buffer[20]的初始地址吧?
返回指针的函数的返回值必须是个地址吗? |
T*****9 发帖数: 2484 | 2 你char *c = "fuck the world."; cout << c << endl;输出的只怕也是整个array:
fuck the world.吧
【在 m*******o 的大作中提到】 : #include : using namespace std; : char* f(int i); : void main() : { : cout << f(1) << endl; : } : char* f(int i) { : char buffer[20]; : strcpy(buffer, "test");
|
T*****9 发帖数: 2484 | |
m*******o 发帖数: 264 | 4 恩,我就是不太明白有关char* fun(){....} 的函数,这种函数的返回类型应该怎么写
才合适?
返回一个地址还是返回一个指针 |
T*****9 发帖数: 2484 | 5 malloc
局部
性质
【在 m*******o 的大作中提到】 : 恩,我就是不太明白有关char* fun(){....} 的函数,这种函数的返回类型应该怎么写 : 才合适? : 返回一个地址还是返回一个指针
|
m*******o 发帖数: 264 | |
f******y 发帖数: 2971 | 7 string f(int i){...} 也可以 |
c******u 发帖数: 105 | |