【发布时间】:2011-12-04 07:59:46
【问题描述】:
我在学习 C 语言的 malloc 和指针时遇到了困难:
到目前为止我学到了什么:
指针是内存地址指针。
malloc()分配内存位置并返回内存地址。
我正在尝试创建一个程序来测试malloc 和指针,这就是我所拥有的:
#include<stdio.h>
main()
{
char *x;
x = malloc(sizeof(char) * 5);
strcpy(*x, "123456");
printf("%s",*x); //Prints 123456
}
我预计会出现错误,因为我提供给malloc 的大小是 5,我将 6 个字符 (123456) 放入指针指向的内存位置。这里发生了什么?请帮帮我。
更新
在哪里学习malloc和指针?我对星号的东西感到困惑,比如什么时候使用星号等。在我学会这个东西之前我不会休息!谢谢!
【问题讨论】: