str*_*min 3 c pointers function
我知道这是一个初学者的问题,但是我不明白它是如何工作的,我发现在每个来源上我都看到了一种不同的方法来做同样的事情,而且我不理解在c中构建函数的这些方法之间的区别。返回一个字符串。
发生什么情况:
我在返回类型后写星号吗?
char* my_function(){...}
Run Code Online (Sandbox Code Playgroud)
如果在函数名称前写星号怎么办?
char *my_function(){...}
Run Code Online (Sandbox Code Playgroud)
两者之间的星号是什么?
char * my_function(){...}
Run Code Online (Sandbox Code Playgroud)
2星号是什么意思?
char **my_function(){...}
Run Code Online (Sandbox Code Playgroud)
是的,下一个代码将编译:
char* * **my_function(){...}
Run Code Online (Sandbox Code Playgroud)
或者...他们都是同一件事吗?
char* my_function(){...}定义一个函数,返回指向char的指针。
char *my_function(){...}定义一个函数,返回指向char的指针。与上述相同-不同的样式。
char * my_function(){...}定义一个函数,返回指向char的指针。与上述相同-不同的样式。
2星号是什么意思?->指向指针的指针。
char **my_function(){...}定义一个返回指向char指针的指针的函数。与上述不同-返回类型不同。
char* * **my_function()(){...}定义一个函数,该函数返回指向char的指针的指针。与上述不同-返回类型不同。
只要星号位于char和之间my_function,间距就不会有任何区别。
在所有情况下,它们都是函数返回类型的一部分。
char*表示返回类型是的指针char。
char**表示返回类型是指向的指针char。
等等。