基本数据类型

整形:

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. 五、MP3文件认识上的几个误区

    1.每帧播放时长都为26ms? 很多博客和文章都提到,Mp3文件每个帧的播放时长(Frame_PlayingTime)是26ms,这个结论是错误的.公式应该是这样的: 一个帧的播放时长=一个帧的采样个 ...

  2. 8.6中关于PSNR(峰值信噪比), img->quad的解释

    在JM代码中,多次遇到img->quad这个东西,而在官方代码中只给出了一句说明: 我开始看了好几遍都没有看懂,然后看到后面有snr,所以想应该和snr有关吧. 然后再代码中寻找snr,发现jm ...

  3. 【Java基础】几种简单的调用关系与方法

    直接上代码吧. class lesson4AB //同一个类下的public修饰的方法A,B可以相互调用 { public void A() { B();//等价于this.B(); } public ...

  4. android——fragment长时间home或者锁屏java.lang.IllegalArgumentException:No view found for id for....

    在项目中遇到了这个问题.头痛了很久,总是无法重现,也不能很好的解决.总是在息屏后一段时间,就会报java.lang.IllegalArgumentException:No view found for ...

  5. ArcGIS添加鹰眼

    axMapControl1是主地图 axMapControl2是鹰眼地图 private void axMapControl1_OnExtentUpdated(object sender, IMapC ...

  6. 【SQL语句】 - 在所有存储过程中查找关键字,关键字不区分大小写 [sp_findproc]

    USE [EShop]GO/****** Object: StoredProcedure [dbo].[sp_findproc] Script Date: 2015/8/19 11:05:24 *** ...

  7. (原)java中opencv的width的问题

    调试程序,我这边负责在JNI中将缓冲区中的数据转换成bitmp.测试时用320*240的图像测试正常,但是别人使用的图像宽度为270时,图像出现了错位(没截图,不好理解). 首先想到的是opencv的 ...

  8. spring的IOC,DI及案例详解

    一:spring的基本特征 Spring是一个非常活跃的开源框架:它是一个基于Core来架构多层JavaEE系统的框架,它的主要目的是简化企业开发.Spring以一种非侵入式的方式来管理你的代码,Sp ...

  9. 微信OPENID授权方法

    今天搞了下微信授权, 总结了下微信的授权规则与步骤 先来几个关键字 Openid  微信ip(属于唯一指向公众号的id) redirect_uri  授权回调地址 State 回调地址带参数 Appi ...

  10. ecshop各个文件夹作用

    Images文件夹: 这个文件夹下有子文件夹,在这些子文件夹下面存放着当前网站商品的原始图片和缩略图.这些子文件夹命名有规律的,它们的文件名是它们目录下商品加入 的年月份.也就是说在同一个月份加入的商 ...