C语言-----总结

一、strlen与sizeof的区别:

    1、strlen计算字符串的具体长度(只能是字符串),不包括字符串结束符。返回的是字符个数。
    2、sizeof计算声明后所占的内存数(字节大小),不是实际长度。
    3、sizeof是一个取字节运算符,而strlen是个函数。
例:

    int i;  
    int j;  
    char str[11]=“0123456789”;//字符串数组定义时注意为字符串个数+1  
    i=sizeof(str);//i=11,统计到字符串结束符’\0’为止  
    j=strlen(str);//j=10,统计到字符串结束符之前  

数组作为函数的参数,会退化为指针

二、变量:

函数存储在栈区,函数结束之后,就会被销毁,里面定义的数据int a也会销毁,当再次调用该函数的时候,值并不会改变;但如果加了static int a,static数据是存储在数据区中,并不会被销毁,当再次调用了该函数,int a的值会在上一次的基础上变化

变量

三、结构体

//结构体的定义:
Struct student
{
    char name[21];//1代表“\0”
    int age;
    char addr[51];
};

第一种赋值:
//结构体的使用:
//创建结构体变量
//结构体类型 结构体变量
struct student stu;   //struct student代表一个变量类型,比如int stu
//stu.name ="张三";错误,数组名不能直接赋值
strcpy(stu.name,"张三");
stu.age = 18;
//stu.addr = "北京市*******";
strcpy(stu.addr,"北京市*******");

第二种赋值:
struct student stu = {"张三",18,"北京"};

//结构体的输出
printf("姓名:%s\n",stu.name);
printf("年龄:%d\n",stu.age);
printf("地址:%s\n",stu.addr);

结构体数组
struct student stu[3]=
{   
    {"张三",22,"北京"},
    {"李四",21,"南京"},
    {"王二",23,"东京"}
};

for(int i=0;i<3;i++)
{
    printf("姓名:%s\n",stu[i].name);
    printf("年龄:%d\n",stu[i].age);
    printf("地址:%s\n",stu[i].addr);
}

四、typedef的使用
typedef 给类型起别名
语法:typedef 原名 别名
例:

typedef struct student mystu;//struct student = mystu
struct student stu = {"张三",18,"北京"};
mystu stu={"张三",18,"北京"};
================================================================
简化写法
typedef struct student
{
    char name[22];
    int age;
}mystu;
//struct student = mystu
mystu stu={"张三",18,"北京"};

五、static、exten和const

介绍:
static:静态变量
extern:修饰变量或者函数的声明,可以在其他文件使用
const:常量


       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值