【发布时间】:2013-01-05 01:27:50
【问题描述】:
#include <stdio.h>
main()
{
char * ptr;
ptr = "hello";
printf("%p %s" ,"hello",ptr );
getchar();
}
您好,我想清楚地了解如何将数组分配给指针。我注意到,当您将字符数组分配给字符指针ptr="hello"; 时,数组衰减到指针,但在这种情况下,我分配的数组字符不在变量内部,也不包含它们的变量“,确实这种分配方式专门为"Hello"(显然正在发生的事情)获取一个内存地址,并且是否可以修改“Hello”中每个元素的值,这些元素包含在存储该数组的内存地址中。作为比较,我可以用一个数组分配一个指针,例如 ints 像 thisint_ptr = 5,3,4,3; 这样模糊的东西,值 5,3,4,3 位于内存地址中“你好”做到了。如果不是,为什么只能使用字符串?在此先感谢。
【问题讨论】:
-
阅读comp.lang.c FAQ的第6部分。