/*
*指针字符串的使用
*字符串结束字符“\0”,在ASCII中代表0
*因此字符串的长度(内存大小)=字符元素+1
*sizeof(str)验证 char类型占一个字节
*/
//解决指针在赋值过程中出现的问题
//在普通的指针字符串的直接调用
void str_point()
{
char *str;
str = “I am a str”;
printf("%s",str);
}
//数组字符串的输入
void str_array()
{
//初始化直接赋值
char str[20] = “I am a str”;
printf("%s",str);
//错误赋值方式,
/*
char str[20];
str = “I am a str”;
*/
}
//指针字符串—键盘输入值
void point_array_input()
{
struct classmate
{
char *name;
char *phone;
};
struct classmate student[3];
int i = 0;
for(i = 0; i < 3; i++)
{
printf("input student name");
scanf("%s",student[i].name); //可以输入name字符串
//printf("%s",student[i].name); //打印过程中无法
printf("input student name");
scanf("%s",student[i].phone);
// 定义的函数不能执行,在这里由于指针字符串型没有相应的地址,赋值地址不清楚无法执行
/*
char name[20]; //定义一个字符串数组
char *student_name; //定义一个指针字符串
student_name = &name; //首地址赋值
scanf("%s",student_name);
printf(“s”,student_name);
*/
}
}