C语言 字符串和字符串数组动态分配及赋值
程序员文章站
2022-07-14 23:29:51
...
1、字符串指针一定要开辟空间后在做输入
char * str;
str=(char*)malloc(100*sizeof(char));
scanf("%s",&str);
2、字符串数组要做初始化的开辟空间后再来存储字符串
char * strArr[n];
int i=0;
for(i;i<n;i++)
{
strArr[i]=(char*)malloc(100*sizeof(char));
}
3、字符串赋值要用strcpy函数。记得加载头文件
#include<string.h>
strcpy(strArr[i],str);
把上面的做完,输出字符串数组就很方便了
int i=0;
for(i;i<n;i++)
{
printf("%s\n",strArr[i]);
}
补充:字符串的双引号做了3件事
1.申请了空间,存放了字符串
2.在字符串尾加上了’/0’
3.返回地址
补充2:字符串还可以这样定义和初始化
char *number=new char[n+1];
memset(number,'0',n);
number[n]='\0';
当不用number的时候,用 delete []number 来删掉空间
下一篇: php数组与字符串的转换函数整理汇总