发布网友 发布时间:2024-10-24 10:01
共2个回答
热心网友 时间:2024-10-25 05:44
'\0'是个字符,它的ASCII码就是0
char *p="computer";在常量存储区申请一内存空间来存
储"computer"这个字符串,把内存首地址赋给p.
在这里p是在栈上申请的而"computer"是在常量存储区申
请的,还给你个例子:
char *p=new char[10];
这个是在堆上申请10个char大小的内存空间,把首地址赋
给p
char *p=(char *)mallo(sizeof(char);
这个是在自由存储区上申请10个char大小的内存空间,把
首地址赋给p
热心网友 时间:2024-10-25 05:44
'\0'就是0,因为字符在存储的时候用的是ascii码.
#include <stdio.h>
void main()
{
char a[10],*p=a;
int n=0;
scanf("%s",p);
while(*p++)
n++;
printf("%d\n",n);
a[0]='a';
a[1]='b';
a[2]=0;
printf("%s\n",a);
}
*p="computer";
这个是把一个字符串常量赋值给一个指针,那个p指向的是一个常量.而不是指针存放的它.