数据类型的本质
1、对于问题理解的深度,决定能不能成为一个高手
2、概念不清晰,是产生bug的根源
本质:固定大小内存块的别名
a[10]
a &a
数组数据类型(关键点):
1、数组类型
2、数组指针
3、数组类型与数组指针类型的关系
求数据类型占的字节数
sizeof()
数据类型可以起别名吗?
tpedef 重定义数据类型别名
例:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> typedef int haha; typedef struct student{ int age; } stu; void main(void){ printf("hello... \n"); haha i=10; stu s; s.age=10; printf("hello...%d \n",i); return ; }
-->void 无类型 void * 无类型指针
void * 可以指向任何类型的数据
用法1、数据类型封装:
void * memcpy(void * dest,const void * src, size _tlen);
用法2、函数返回值和无形参
void main(void);
用法3、void 指针
C语言规定 相同数据类型的指针才可以相互赋值
malloc(4) 返回类型为void *
char * p=NULL;
p=(char*)malloc(4);
void * 转为其他类型需要类型强制转换
任何类型赋值给void * 不需要类型强制转换
不存在void 类型的变量 编译器不知道如何分配内存