当前位置: 首页 > news >正文

一起做网站17杭州女装今天的三个新闻

一起做网站17杭州女装,今天的三个新闻,信息展示网站,什么网站做一手项目好一.typedef的应用 1.给已定的变量类型起个别名 加不加typedef,类型不变 (加之前是个数组,加之后是数组类型; 加之前是个函数指针,加之后是函数指针类型;) struct _person {char name[20];in…

一.typedef的应用

1.给已定的变量类型起个别名

加不加typedef,类型不变

(加之前是个数组,加之后是数组类型;

   加之前是个函数指针,加之后是函数指针类型;)

struct _person
{char name[20];int age;
};
typedef _person person_t;上下相等typedef struct _person
{char name[20];int age;
}person_t;
//怎么做的效果很是明显
struct Student
{char name[20];int age;char sex;
};int main(void)
{struct Student stu1 = { "qwl" , 20, 'm' };struct Student stu2 = { "qwj" , 16, 'm' };struct Student stu3 = { "chx" , 48, 'm' };struct Student* pst1 = &stu1;struct Student* pst2 = &stu2;struct Student* pst3 = &stu3;return 0;
}typedef struct Student
{char name[20];int age;char sex;
}STU;int main(void)
{STU stu1 = { "qwl" , 20, 'm' };STU stu2 = { "qwj" , 16, 'm' };STU stu3 = { "chx" , 48, 'm' };STU * pst1 = &stu1;STU * pst2 = &stu2;STU * pst3 = &stu3;return 0;
}

二.#define

标识符替换

#定义   标识符   内容
#define name    stuff#define MAX 100
#定义   宏名(参数表)    内容
#define  name(part-list)  stuff#define ADD(a,b) (a)+(b) 

part-list是一个由逗号隔开的标识符

三.assert

3.1 所在头文件 <assert.h>

3.2 assert()对表达式进行检测

       如果expression的结果为 0(条件不成立),那么断言失败,表明程序出错,assert() 会向标准输出设备(一般是显示器)打印一条错误信息,并调用 abort() 函数终止程序的执行。

        如果expression的结果为非 0(条件成立),那么断言成功,表明程序正确,assert() 不进行任何操作。

3.3 如果定义了#define NDEBUG,assert()就无效了

每次断言只能检验一个表达式

四.exit()函数

4.1 头文件<stdlib.h>
      4.2 功能:

退出程序的函数

     4.3 用法:

exit(1); 为异常退出(只要括号里的参数不是0都为异常退出

exit(0);正常退出

4.4 与return();的区别

return()是返回上一级主调函数,不一定会退出程序

五.free函数

5.1 头文件<stdlib.h>

5.2free函数必须和malloc函数同时使用,否则会报错

free无法释放栈内存的变量

#include<stdio.h>
#include<stdlib.h>
struct node //定义结构体
{int name;//结构体里面定义一个变量叫做name
};int main()
{struct node *p;//定义一个结构体变量free(p);
}

这个代码会报错,因为free只能释放由malloc动态分配在堆内存的内存,直接在主函数定义结构体变量是分配在栈内存里的内存,所以释放不了

#include<stdio.h>
#include<stdlib.h>
struct node //定义结构体
{int name;//结构体里面定义一个变量叫做name
};int main()
{struct node *p = malloc(sizeof(struct node));//定义一个结构体变量free(p);
}

5.3 free函数释放的是指针所指向的地址的内存(不是指针本身所在地址的内存),因此可以通过函数直接释放内存

#include<stdio.h>
#include<stdlib.h>
struct node //定义结构体
{int name;//结构体里面定义一个变量叫做name
};void fun(struct node *p)
{free(p);
}int main()
{struct node *p = malloc(sizeof(struct node));//定义一个结构体变量p->name = 10;//给结构体赋值printf("%d\n",p->name);fun(p);//释放内存printf("%d",p->name);
}

http://www.ritt.cn/news/10663.html

相关文章:

  • 湖北外贸网站建设百度2022最新版本
  • 网站空间ftp连接失败百度地图优化排名方法
  • 做的最好的择日择时的网站辽阳网站seo
  • 湖南省人民政府办公厅竞价托管优化公司
  • 太原要做网站的公司seo月薪
  • 湖南网站优化推广网站关键词优化排名技巧
  • 自学网站建设最快要多久关键词优化软件有哪些
  • 那个网站适合学生做兼职微商软文
  • 网站续费模版设计个人网站
  • 福州专业做网站微营销是什么
  • wordpress改插件郑州seo网络推广
  • 域名注册了 如何做网站手机app免费下载
  • 怎么搜索到自己网站虎门今日头条新闻
  • 网站如何做提交的报名表百度最新版本2022
  • 基础网站开发小说排行榜
  • 做网站培训seo技术论坛
  • app如何推广以及推广渠道百度广告优化
  • 百度网站外链发布平台360免费建站教程
  • 建立网站ftp网络服务商怎么咨询
  • 新乡网站开发公司百度推广登录平台登录
  • 房山武汉阳网站建设免费网站建站
  • 建立网站多少钱一年制作网站的软件有哪些
  • o2o平台有哪些国内seo整体优化步骤怎么写
  • 网页制作与网站建设上海公布最新情况
  • wordpress主题手机端四川seo快速排名
  • wordpress引用文章提升seo排名
  • flash分享网站营销策划书模板
  • 柳州网站优化企业站seo价格
  • 网站app搭建百度seo优化收费标准
  • 地名网站建设费用百度站长工具怎么关闭