基本数据类型

整形:

Int

4字节

%d / %i

Short

2字节

%hd

Long

8字节

%ld

Longlong

8字节

%lld

Unsigned

4字节

%

浮点型

单精度

Float

4字节

%f

双精度

Double

8字节

%lf

字符  char   1字节   %c

枚举:当一个变量只用几个固定的取值的时候使用枚举

  特点:先定义枚举类型,然后使用枚举类型定义枚举变量

  作用:提高代码的可读性,方便程序员之间的交流

  注意:枚举类型的实质是整形

  枚举定义的每一个成员都代表一个整形常量,默认情况下成员是从0开始,依次递增1.

构造类型

  数组:用于存放多个同种类型数据

    定义格式:数组类型 数组名称[元素个数] 

    1. 当我们定义的一个数组的时候系统会为这个数组开辟一个连续存储区域
    2. 数组名是数组的地址

    3. 系统是如何根据下标访问某个元素:首先根据数组的地址计算处理这个元素的地址,然后访问它存储空间  array的地址 + 下标 * 数组类型

  

  结构体:用于存放多个不同数据类型的数据的,若相同的数据类型可以表示特殊含义也使用结构体

    结构体作用:让数据结构化

    特点:

    1. 先定义结构体类型 然后在定义结构变量
    2. 结构体可以嵌套,但是不可以嵌套自己,但可以嵌套自己的指针
    3. 结构体作为函数参数传递是值传递
    4. 结构体指针作为函数参数传递是地址传递

  指针类型:指针就是地址,有了地址我们可以访问它所指向的存储空间

    指针变量:用于的存放地址变量

    定义格式:所指向的数据类型 *指针变量名称

     *作用:

    1. 定义变量的时候,它使一个类型说明符,说明定义的这个变量是一个指针变量
    2. 在非定义的变量的时候,他是一个操作符,访问指针所指向的存储空间

    &作用

    1. 作为单目操作符,它是取出变量的地址
    2. 作为双目运算符,它使按位与

指针与函数

1、指针作为函数参数传递是地址传递

2、指针函数:返回值为指针的函数

1、不可以返回局部变量的地址

2、可以返回常量的地址

3、可以返回堆中的地址

3、函数指针:指向函数的指针

定义一个函数指针

所指向的函数的返回值类型  (*指针变量名称)(所指向的函数的形参列表)

  结构体指针:指向结构体的指针

     struct 结构类型名 * 指针变量名称

      struct Person{ int age ;};

     struct Person p;

      struct Person *pp = &p;

      pp->age = 20;

字符串:

使用字符数组,存储在栈中,它里面字符是可以修改的

使用字符指针,存储在常量区,它是只读的

总结:

  1. 所有的数据类型都可以定义变量
  2. 所有的数据类型都可以作为函数参数
  3. 所有的数据类型都可以作为函数的返回值

从头开始-03.C语言中数据类型的更多相关文章

  1. C语言中数据类型的取值范围

    C语言中数据类型的取值范围如下:char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 ...

  2. C语言中数据类型的本质

    数据类型可以理解为固定内存大小的别名.比如int类型,就是表示占用4字节的内存. 1 数据类型的大小 用sizeof操作符获得数据类型的大小. 比如 int a[5];   sizeof(a)就可以得 ...

  3. C语言中数据类型和变量

    C语言中的数据类型 数据类型的本质,固定大小内存块的别名. 数组名代表数组首元素的地址. 数组首元素的地址,&代表整个数组的地址. 数组数据类型,怎么定义数据数组类型,定义数组类型指针,数组类 ...

  4. 16.C语言中数据类型的本质含义是:表示一个内存格子的长度和解析方法。

    数据类型决定长度的含义:我们一个内存地址(0x30000000),本来这个地址只代表1个字节的长度,但是实际上我们可以通过给他一个类型(int),让他有了长度(4),这样这个代表内存地址的数字(0x3 ...

  5. C语言中数据类型取值范围的计算的理解与总结

    c语言中,数据类型有short,int,long,char,float,double,然后除了浮点型只有 有符号数(signed)外,其他的数据类型都分为有符号(signed)和无符号(unsigne ...

  6. C语言与java语言中数据类型的差别总结

    在学习java的时候,看到char ch =  '男' ; 我就觉得很奇怪,char类型不是占用一个字节吗?为什么定义成一个汉字被说成是一个字符了? 原来,在C语言中,char在32位操作系统下占用1 ...

  7. C语言中数据类型的长度

    面试中C里面int长度经常会被问到,下面总结一下作为资料: 首先看看一般规定: 标准c规定,int长度等于机器字长,short的表示范围不能大于int的表示范围,long的表示范围不能小于int的表示 ...

  8. C语言中数据类型的字节数

    类型 16位 32 位 64位 char 1 1 1 short int 2 2 2 int 2 4 4 unsigned int 2 4 4 float 4 4 4 double 8 8 8 lon ...

  9. Android For JNI(二)——C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器

    Android For JNI(二)--C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器 当我们把Hello World写完之后,我们就可以迈入C的大门了,今天就来讲讲基本的一些数据类型 ...

随机推荐

  1. C++中如何建立一个顺序表

    准备数据 #define MAXLEN 100 //定义顺序表的最大长度 struct DATA { char key[10]; //结点的关键字 char name[20]; int age; }; ...

  2. 设置MySQL数据表主键

    设置MySQL数据表主键: 使用“primary key”关键字创建主键数据列.被设置为主键列不允许出现重复的值,很多情况下与“auto_increment”递增数字相结合.如下SQL语句所示: My ...

  3. PC和ARM平台编译Qt的命令

    编译for PC 的Qt过程是: (1)qmake -project (qmake命令,用于创建hello.pro,将所有的文件编译成一个与平台无关的工程文件).(注意:按照前面步骤安装好Qt环境之后 ...

  4. ubuntu系统分区方案

    一.各文件及文件夹的定义 /bin:bin是binary(二进制)的缩写.存放必要的命令 存放增加的用户程序. /bin分区,存放标准系统实用程序./boot:这里存放的是启动LINUX时使用的一些核 ...

  5. Linux Tomcat7.0安装配置实践总结

    一,安装JDk 先下载jdk,链接http://www.oracle.com/technetwork/java/javase/downloads/index.html,选择相对应平台的JDK.由于笔者 ...

  6. JAX-RS开发 hello world

    1.建立maven webapp工程aty-rest. 2. 在pom文件增加spring框架.jax-rs接口.CXF实现 <dependency> <groupId>jav ...

  7. 用户 'IIS APPPOOL\DefaultAppPool'登录失败

    今天发布网站遇到这个问题.问题直接说明iis  应用程序池. 后来百度发现是应用程序池  进程模型中的标识项设置问题,这个我用的是本地数据库所以是localsystem.在此小弟谢谢这位 http:/ ...

  8. EasyUI时间格式化

    changeDateFormatNodate: function (cellval) { var date = new Date(parseInt(cellval.replace("/Dat ...

  9. Jq自定义动画

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. Java并发编程之volatile变量

    volatile提供了弱同步机制,用来确保将变量更新通知到其它线程.volatile变量不会被缓存在寄存器中或者对其它处理器不可见的地方,因此在读取volatile变量时总会返回最新写入的值.可以想象 ...