通过malloc可以同时申请多个结构体,因为结构体存在内存对其,所以可以很方便的设置一个结构体数组。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct{
char name[10];
int year;
int class;
}student;
int main()
{
student *s = (student *)malloc(sizeof(student)*2);
strcpy(s[0].name,"nihao");
s[0].year = 2018;
s[0].class = 2;
printf("%s\n",s->name);
printf("%d\n",s[0].year);
printf("%d\n",s[0].class);
return 0 ;
}
通过嵌套三目运算符来减少一个逻辑运算,代替if else。下面这行代码能比较清晰的知道先执行的是哪个,返回的s是字符串的长度,这个还挺有意思。
int s = 2>1?1<0?printf("nihao\n"):printf("zhegema?\n"):printf("haishizheyang\n");
if else 这样使用也能让代码看起来更加的简洁清爽。
int i=3;
if(i==0) printf("i = 0\n");
else if(i == 1) printf("i = 1\n");
else if(i == 2) printf("i = 2\n");
else if(i == 3) printf("i = 3\n");