scanf("%*s")代表的意思是:*表示输入项在读入后不赋值给相应的变量
例如:
while(int result = scanf("%d",&choise) != 1){
if(result ==1){}
scanf("%*s")//这句话的作用是清空个缓冲区,否则while循环中result会去缓冲区中取值,不会获得重新输入的值。这句话等价于:fflush(stdin);
}
c语言中的字符串
定义字符串的几种方式:
第一种方式:
char name1[] = {'j','a','c','k','\0'}; //字符串与字符数组的区别是,最后一位是否是空字符。
第二种方式:
cahr names2[] = "jack";
第三种方式:
char * names3 = "jack";
字符串中的一些函数:
字符串连接:strcat(str1,str2);将str2拼接到str1后面
指向字符串的指针:
char * words = "My heart is still.";
words += 9; //words指针向后移动9个
puts(words);//结果是"is still."
声明数组的时候,数组形式和指针形式的区别是:
初始化字符数组的时候会把静态存储区的字符串拷贝到数组中。//说明用字符数组声明字符串的时候,静态存储区中存一份,内存中又存了一份
初始化指针时只把字符串的地址拷贝给了指针。//只是把指针给了它,可以直接操作这块地址
c语言中结构的定义:
结构是一种构造数据类型,由若干数据项组合而成
struct strctName{
//结构成员
DataType var1;
DataType var2;
//...
}
示例:
使用方式如下:
嵌套结构示例:
还有一种访问对象属性的方式是通过指针,ptr_Player->name。就可以访问到Player的name属性。
另一种定义结构体的方式如下:
typedef struct _job
typedef struct _job
{
}Job;
这样以后使用的时候就可以:Job job;