zoukankan      html  css  js  c++  java
  • C语言中数据类型和变量

    C语言中的数据类型

    数据类型的本质,固定大小内存块的别名。

    数组名代表数组首元素的地址。

    数组首元素的地址,&代表整个数组的地址。

    数组数据类型,怎么定义数据数组类型,定义数组类型指针,数组类型和数组指针类型的关系,很重要的。

    可以使用sizeof求数据类型的大小。sizeof测量变量的大小在编译期就已经完成。

    可以通过typedef自定义数据类型。

    数据类型的封转

    1、void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何数据类型的指针。

    2、void修饰的函数返回值和参数,表示是无,如果函数没有返回值,应该将函数声明为void类型,如果函数没有参数,应该将函数括号中用void来明确表示。

    3、void指针的含义,C语言规定,只有同种类型的指针才能进行赋值,void* 作为左值的时候,可以接收任何类型的指针,void* 作为右值的时候,需要进行强制类型转换。

    4、不存在void类型的变量,在C语言中,没有定义void应该分配多大的内存。

    变量的三要素,名称,大小,作用域

    函数的三要素,名称,参数,返回值

    数据类型的思考

    如何表达数组的数据类型?

    函数可以看作是一种数据类型? 函数也是一种数据类型,是一种特殊的数据类型。

    变量的本质,是既能读又能写的内存对象,若初始化之后不能修改的量称之为常量。

    变量的本质是一段连续内存空间的别名,是一个门牌号,通过变量来操作内存,对内存可读可写,通过变量往内存中读写数据。那么变量跑哪里去了?变量在代码区中。

    程序通过变量名来操作变量直行的内存空间。

    通过变量修改内存的方法有两中,一种是直接进行修改内存,另外一种是间接修改内存。

    如果想要间接修改内存中的值,应该那到这个内存的地址,然后强制转换成为对应类型的指针的地址,然后在通过*来操作这块内存。

    也就是说,内存是有地址编号的,拿到了这个地址编号就可以修改内存中的数据了。

    内存空间可以多取几个别名,C++引用就是干这个事情的。

    也就是说,对类型可以区别名,通过typedef,对内存空间也可以取别名,就是C++中的引用。

    变量的生命周期,涉及到内存四区模型和函数调用模型。

    *就像一把钥匙,拿着这个钥匙找到对应的内存空间,修改或者是得到内存空间中的值。

  • 相关阅读:
    C# 与Sql server 获取数据和执行命令
    关于*.ashx 处理程序调试时 未能创建类型 错误
    winform 利用Http向服务器上传与下载文件
    CSS 使用absolute 是<div>居中
    C# int[,] 和 int[][]
    《Head First JavaScript》 学习笔记
    【单片机】关于头文件
    【单片机】【710】定时器
    【C#】委托
    【C#】关于接口的理解
  • 原文地址:https://www.cnblogs.com/andyniu/p/7629460.html
Copyright © 2011-2022 走看看