#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
char p1[] = "hello";
char *p2 = "hello";
char *p3;
p3 = (char *)malloc(sizeof(char)*6);
stpcpy(p3, "hello");
return 0;
}
第一个:是把字符串放在一个数组当中,是放在栈区连续的空间,内容可以修改。
第二种:是字符串常量,放在内存的常量区,用一个p2指针指向这个字符串。
第三种:是采用动态申请一段堆空间,申请之后的起始地址,放在了一个指针当中,注意p3本身在栈区,它指向申请空间,通过拷贝函数把字符串拷贝到动态申请的堆空间当中。