结构体声明:
typedef struct tag
{
memer-list
} variable-last;
类型:标量,数组,指针,其他结构体
函数传参的时候,参数是需要压栈的,如果传递一个结构体对象的时候,结构体过大,参数压栈的系统开销比较大导致性能的下降
结构体传参时,传结构体的地址。
#include <stdio.h>
#include<string.h>
typedef struct Stu
{
char name[20];
short age;
char tele[12];
char sex[5];
}Stu;
void Print1(Stu tmp)
{
printf("name: %s\n", tmp.name);
printf("age: %d\n", tmp.age);
printf("tele: %s\n", tmp.tele);
printf("sex: %s\n", tmp.sex);
}
int main()
{
Stu s = ("张" ,"15649986786", "男");
Print1(s);
return 0;
}
//写一个函数返回二进制中1的个数
#include<stdio.h>
int count_bit( unsigned int a)
{
int count=0;
while(a)
{
if(a%2==1)
{
count++;
}
a=a/2;
}
return count;
}
int main()
{
int a=0;
scanf("%d",&a);
int count=count_bit(a);
printf("count=%d\n",count);
return 0;
}