2个回答
展开全部
可以说一下原题型吗?
这是C++里有的知识void main()
{
char *str1,*str2,*str3;
str1=new char[50];
str2=new char[60];
str3=new char[55];
delete str1;
delete str2;
delete str3;
} 1. 使用:p = q;(q指向一段空间)
- 这没有分配空间,只让p这个指针变量 = q
2. 使用:p = (char *)malloc(100*sizeof(char));
- 这是分配空间
char *p = NULL与char *p有区别么?
- 这给了指针变量p一个初始值0,方便检测错误指针
memset(p, 0, sizeof(p));
- 这不是初始化指针,是初始化指针指向的内存,sizeof(p)=4(32位平台),是错误的用法
“指针不能赋null值,如果初始化为null的话,指针就为空地址,指针将不能使用,就算在程序中重新给该指针赋值也没用了,因为指针指向了一块空的地址也可以理解为不存在的地址所以指针不能使用了。 ”char *p = NULL 是个好习惯
例如:
{
char *p = NULL;
p = new char [256];
scanf("%s", p);
} 网上找的解答,希望对你有帮助
这是C++里有的知识void main()
{
char *str1,*str2,*str3;
str1=new char[50];
str2=new char[60];
str3=new char[55];
delete str1;
delete str2;
delete str3;
} 1. 使用:p = q;(q指向一段空间)
- 这没有分配空间,只让p这个指针变量 = q
2. 使用:p = (char *)malloc(100*sizeof(char));
- 这是分配空间
char *p = NULL与char *p有区别么?
- 这给了指针变量p一个初始值0,方便检测错误指针
memset(p, 0, sizeof(p));
- 这不是初始化指针,是初始化指针指向的内存,sizeof(p)=4(32位平台),是错误的用法
“指针不能赋null值,如果初始化为null的话,指针就为空地址,指针将不能使用,就算在程序中重新给该指针赋值也没用了,因为指针指向了一块空的地址也可以理解为不存在的地址所以指针不能使用了。 ”char *p = NULL 是个好习惯
例如:
{
char *p = NULL;
p = new char [256];
scanf("%s", p);
} 网上找的解答,希望对你有帮助
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询