数据类型概念
- “类型”是对数据的抽象
- 类型相同的数据有相同的表示形式、存储格式以及相关的操作
- 程序中使用的所有数据都必定属于某一种数据类型
数据类型的本质
- 数据类型可理解为创建变量的模具(模子);
- 是固定内存大小的别名。
数据类型的作用
#include<stdio.h>#include<stdlib.h>/*数据类型的本质:数据类型可理解为创建变量的模具(模子);是固定内存大小的别名数据类型的作用:编译器预算对象(变量)分配的内存空间大小*/void main(){ int a; //告诉c编译器分配4个字节的内存 int b[10]; //告诉c编译器分配40个节字的内存 printf("b:%d, b+1:%d\n",b, b+1); printf("&b:%d, &b+1:%d\n",&b,&b + 1); //b:2029316, b+1:2029320 向后跳了4个字节 //&b:2029316, &b+1:2029356 向后跳了40个字节 /* b+1 &b+1结果不一样 b &b所代表的类据类型不一样 b 代表数组首元素的地址 b[0]x &b 代表的是整个数组的地址 b &b 数组数据类型: 1.定义一个数组类型 2 数组指针 3 数组类型和数组指针类型的关系 */ //求长度 printf("sizeof(b):%d\n", sizeof(b)); //40 printf("sizeof(a):%d\n", sizeof(a)); //4 { char *p2 = NULL; void *p1 = NULL; char *p3 = "Aaaa123"; //申请长度为10字节的连续存储空间,并将分配到的存储空间地址转换为char类型地址,然后把他赋给指针变量P2 p2 = (char *)malloc(10); printf("p2:%d\n", strlen(p2)); //22 int i = 0; for (i = 0; i < 22; i++) { //printf("%c", p2 + i); } printf("p3:%d\n", strlen(p3)); //7 } { //void a; 不存在void类型变量 这样写c不知道怎么分配内存 } system("pause");}