专题一关键字的剖析----4.goto,void,extern,sizeof的分析
来源:互联网 发布:有什么好的网游知乎 编辑:程序博客网 时间:2024/06/05 12:55
goto语句破坏程序的顺序执行,如果跳过某些内存的释放语句,就会造成内存泄漏,程序崩溃。
void的意义:修饰函数表示该函数没有返回值,修饰函数的参数表示函数没有参数。
C语言没有定义void的大小,只定义了void类型表示无。由编译器厂商自行设定。
printf(“%d\n”,sizeof(void));
//gcc中为1;g++则报错,c++中void不对应任何一种类型。
void指针的意义
C语言规定只有相同类型的指针才可以互相赋值。
void*指针作为左值可以接收任意类型的指针。
void*类型作为右值赋值给其它指针时需要强制类型转换。
int* p1=(int*)malloc(sizeof(int));
Memset函数的设计:
- 接收的参数(void* p,char v,int size);
- 实现的算法(for循环进行内存设置);
- 返回值(return p)。
void* my_memset(void* p,char v,int size){ void* ret=p; char* dest=(char*)p; int i=0; for(i=0;i<size;i++) { dest[i]=v; } return ret;}
extern用于声明外部定义的变量和函数;
extern用于指示非标准C语言编译器用标准C语言的方式编译(编译器有其默认的编译方式,比如C++)。
extern “C”{ int fun(int a,int b) { return a+b; }}
extern实例:
Test1.c#include<stdio.h>extern int test2_g; //报错undefineextern test2_fun();void main(){ printf(“%d\n”,test2_g); printf(“%d\n”,test2_fun());}Test2.cstatic Int test2_g=1;int test2_fun(){ return test2_g;}//编译:gcc Test1.c Test2.c// ./a.out//结果:1
sizeof指示符
sizeof是编译器内置的关键字,指示符,不是函数。用于计算相应实体所占的内存大小。sizeof在编译时就已经得到了结果,而函数要在运行时才能知道结果。
int a;printf(“%d\n”,sizeof(a));printf(“%d\n”,sizeof a);printf(“%d\n”,sizeof(int));
阅读全文
0 0
- 专题一关键字的剖析----4.goto,void,extern,sizeof的分析
- goto,void,extern,sizeof分析
- goto,void,extern,sizeof分析
- goto,void,extern,sizeof分析
- goto, void, extern, sizeof分析
- 1.4、goto、void、extern、sizeof剖析
- goto void extern sizeof
- void,extern,sizeof 关键字分析
- 04-goto.void.extern.sizeof
- 专题一关键字的剖析----6.struct,union的分析
- 专题一关键字的剖析----7.enum,typedef的分析
- 专题一关键字的剖析----1.基本数据类型分析
- 专题一关键字的剖析----2.aoto,register,static分析
- 专题一关键字的剖析----5.const,volatile分析
- c语言学习笔记(2)goto,void,extern和sizeof分析
- 专题一关键字的剖析----3.if,switch,do,while,for分析
- 【C语言学习】04__goto,void,extern,sizeof分析
- (*(void (*)( ) )0)( )的剖析
- 多个选项卡
- Util工具类 下载指定路径下的文件
- FreeRTOS低功耗之tickless模式
- 41. First Missing Positive
- 算法(五):回溯法和分支限界法
- 专题一关键字的剖析----4.goto,void,extern,sizeof的分析
- vue自定义全局组件(自定义插件)
- hdoj1082 Matrix Chain Multiplication(栈的运用)
- vue+vuex+router初体验
- AndroidStudio界面和代码关联
- android binder机制---概述
- HTML系列之List和Table 超链接 Form(三)
- 快速上手MySql && MySql GUI工具 SQLyog Community
- NYOJ 915 +-字符串