编译环境:VScode+MINGW32
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *p = NULL;
p = (char *)malloc(sizeof(char));
scanf("%s", p);
int len = strlen(p);
char str[len];
for (int i = 0; i < len; i++)
{
str[i] = *p;
p++;
}
printf("%c\n", str[2]);
free(p);
p = NULL;
system("pause");
return 0;
}
使用malloc()函数则可以获取动态内存地址,存储字符串,并且通过指针p依次访问字符串中每个字符,从而将字符串复制到字符数组中。另外,使用malloc后一定要记得free!