标签:
数据类型分为简单数据类型和复杂数据类型
数据类型可理解为创建变量的模具;是固定内存大小的别名;
数据类型的作用:编译器预算对象(变量)分配的内存空间大小;
求数据类型的大小——sizeof()是操作符,不是函数;sizeof()测量的实体大小在编译期就已经确定了。
数据类型可以取别名——typedef
void的字面意思是“无类型”,void *则为“无类型的指针”,void *可以指向任何类型的数据;
用法1:数据类型的封装
int InitHardEnv(void **handle);
内存操作函数memcpy和memset的函数原型分别为:
void *memcpy(void *dest, const void *scr, size_t len);
void *memset(void *buffer, int c, size_t num);
用法2:void修饰函数的返回值和参数,仅表示无
如果函数没有返回值,那么可以将其声明为void类型;
如果函数没有参数,可以将其参数声明为void;
void指针的意义
C语言规定只有相同类型的指针才可以相互赋值;
void *指针作为左值用于“接收”任意类型的指针;
void *指针作为右值赋值给其他指针时需强制类型转换;
int *p1 = NULL;
char *p2 = (char *) malloc(sizeof(char) * 20);
不存在void类型的变量
C语言没有定义void究竟是多大内存的别名
变量
既能读又能写的内存对象;
(一段连续)内存空间的别名
程序通过变量来申请和命名内存空间;
通过变量名访问内存空间;
修改变量的方法
直接修改;
间接修改;拿到内存编号来修改内存——指针;
内存空间可以取别名——引用
标签:
原文地址:http://www.cnblogs.com/sodo/p/4575972.html