基本数据类型

整形:

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. Java凝视Annotation

     Java凝视Annotation 从JDK 5開始,Java添加了对元数据(MetaData)的支持,也就是Annotation(凝视).Annotation提供了一种为程序元素设置元数据的方法 ...

  2. RMAN数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复

    1.归档模式有备份,丢失数据文件的恢复归档模式有备份,不管丢失什么数据文件,直接在RMAN下RESTOER--->RECOVER--->OPEN即可. RMAN> STARUP MO ...

  3. 16进制字符串转换为byte数组

    /// <summary> /// 16进制字符转换为byte数组 /// </summary> /// <param name="hexString" ...

  4. vs2010 中检测到有潜在危险的 Request.Form 值

    解决方法 : 一般在网上搜只有以下两种处理方式: 1.在报错的页面前吧<%Page%>标签中增加validateRequest="false"的属性为false 如下所 ...

  5. [Linked List]Convert Sorted List to Binary Search Tree

    Total Accepted: 57775 Total Submissions: 198972 Difficulty: Medium Given a singly linked list where ...

  6. A - Next_permutation

    首先介绍一下next_permutation函数的用途! 按照STL文档的描述,next_permutation函数将按字母表顺序生成给定序列的下一个较大的排列,直到整个序列为降序为止. prev_p ...

  7. 2、vector的实现

            看侯捷老师的<STL源码剖析>有一段时间了,打算自己整理一下思路,试着实现一下.主要目的有两个:1.巩固自己对源码的理解,让自己更加深刻的体会其中各种机制的奥妙.别人的知识 ...

  8. AdapterView及其子类之三:基于ListView及ArrayAdapter实现列表

    见归档项目ListViewDemo.zip. 基本步骤如下: 1.创建主布局文件,里面包含一个ListView元素. <RelativeLayout xmlns:android="ht ...

  9. Print! Print! Print!

    print语句可以实现打印--只是对程序员友好的标准输出流的接口而已. 从技术角度来讲,这是把一个或多个对象转换为其文本表达形式,然后发送给标准输出或另一个类似文件的流. 更详细地说,在Python中 ...

  10. multiprocessing跨平台锁的使用(Windows问题)

    在Windows上可能遇到,开启的子进程不会关闭的问题 参考multiprocessing官方文档: Explicitly pass resources to child processes On U ...