65,099
社区成员
发帖
与我相关
我的任务
分享
http://blog.csdn.net/dw903632958/article/details/8873287
可以看看int m=1;
int i =0;
int k[10] = {0};
printf("&m=%d\n",&m);
printf("&i=%d\n",&i);
printf("&k[0]=%d\n",&k[0]);
printf("&k[9]=%d\n",&k[9]);
printf("&k[10]=%d\n",&k[10]);
for(;i <= 10; ++i)
{
k[i] = 0;
}
printf("HelloWorld!\n");
#include <iostream>
int main()
{
int i =0,k[10] = {0};
printf("&i=%d\n",&i);
printf("&k[0]=%d\n",&k[0]);
printf("&k[9]=%d\n",&k[9]);
printf("&k[10]=%d\n",&k[10]);
printf("&k[12]=%d\n",&k[12]);
for(;i <= 12; ++i)
{
k[i] = 0;
}
printf("HelloWorld!\n");
return 0;
}
char *s="123456";
char *p = s;
char a[6];
for (int i=0;i!=6;i++)
{
a[i] = s[i];
}
a[6] = '\0';
a中存放的是s的副本,p存放的是s的首地址。a[0]修改了,是修改的副本的值,s的值并不变。所以不会出错。
p[0]修改了,是修改常量s里的值,不可以修改,所以出错。