定义具有大小的 char 数组指针
我想要在下面的两个声明之间进行交叉:
char string[6];
char * string;
我需要一个具有固定大小的指针,并且我不想想要使用malloc
来完成这么简单的事情。
这个 char 数组需要做的就是分配一个值并通过函数检索它,如下所示。 (但在循环中,因此需要单独声明)执行此操作的最佳方法是什么?
string = "words";
printf("%s",string);
I want a cross between the two declarations below:
char string[6];
char * string;
I need a pointer with a fixed size and I don't want to use malloc
for something this simple.
All this char array needs to do is be assigned a value and have it retrieved by a function as seen below. (But in a loop hence the separate declaration) What is the best way to do this?
string = "words";
printf("%s",string);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
定义一个常量数组,其大小由初始化器计算:
如果您只想要一个指向固定大小的小内存量的指针,只需像这样使用它:
Define a constant array of which the size gets counted by the initializer:
If you just want a pointer to a fixed size amount of memory that is small, just use it like this:
既然您现在已经声明不能使用@nightcracker的解决方案,我认为您需要使用
strncpy()
来分配给字符串。我猜想在真实的程序中您不会使用字符串文字,因此需要
strncpy()
。Since you have now stated that you can't use @nightcracker's solution, I think you need to use
strncpy()
to assign to the string.I guess that in a real program you wouldn't be using a string literal, hence the need for
strncpy()
.为什么不使用这个:(
或者你的问题不清楚)
Why not to use this:
(or your question is not clear)