c语言数据类型存储类型,C语言数据类型、存储类型-程序员宅基地

技术标签: c语言数据类型存储类型  

《C语言数据类型、存储类型》由会员分享,可在线阅读,更多相关《C语言数据类型、存储类型(5页珍藏版)》请在人人文库网上搜索。

1、一、数据类型基本类型:int、char、int、float、double构造类型:数组(一维数组、二维数组、指针数组、函数指针数组、结构体数组)、结构体、共用体指针:一维指针、二维指针、数组指针、函数指针、结构体指针空类型:void,该类型也叫缺省型,用于描述值为空集,主要用于说明不返回值的函数或指向任一类型的指针等1、32位计算机,各种数据类型所占字节数是:char = 1;short = 2;int = 4;long = 4;float = 4;double = 8(实型数据的存储方式不同于其他基本数据类型)2、bool类型bool类型数据的值,是真或者非真,-即:0/1(非0即为真)定义。

2、时需加上:#include用的时候不需要专门声明。3、char型数据字符型数据,就是占用1个字节,8位,赋值范围要注意unsigned char(无符号)signed char (有符号)如果给char型数据赋值超过范围,则会溢出。溢出原则,“保留低位,舍弃高位”4、字符常量char a = a和char a = 97等价,字符常量a的ASCII码是975、字符串常量定义:用双引号括起来的字符,就是字符串常量。char *p = “hello”;“helllo”“你好吗,世界!”每个字符串常量后面都会有一个“*0”0用来表示字符串结束6、define与typedef(注意两者格式的区别)typ。

3、edef是关键字,为已有类型取别名(如typedef unsigned int unit)define是宏定义,仅仅进行简单的文本替换(#define TYPE 100)举例:#define unit_p int*unit_p a,b表示的是int *a,b;(b为int型)typedef int * unit_punit_p a,b;表示的是int *a;int *b;#include#defineN3.0e-23#defineM950intmain(intargc,constchar*argv)doublea;scanf(%lf,&a);printf(%.2en,a*M/N);return。

4、0;7、sizeof(关键字)这个是计算数据占用字节数的运算符,只针对数据类型,不针对变量。 返回值:是括号内数据占用的字节数。比如:int a = 5;则sizeof(a)和sizeof(int) = 4;sizeof(short int)=2;32位系统中,指针是占4个字节利用指针判断所使用系统是多少位的系统int *p = NULL;printf(%dn,sizeof(p);32位系统中,指针是占4个字节;64位系统中,指针是占8个字节8、带参宏定义define对于带参宏定义不仅应在参数两侧加括号,还应在整个符号串外加括号,才能保证大部分情况下不出错。而有些时候就算已经这样做了,还是不能。

5、得到我们想要的结果。#include #define SQ(y) (y)*(y)int main()int i = 1;while(i int SQ(int y)return (y * y);int main()int i = 1;while(i int s;/全局变量未初始化,会被分配到BSS段,该段在程序加载初期会被自动清零。所以没初始化前,它的默认值是0。int sd = 1024;/如果初始化了全局变量,那么它会被分配到data段,data段的数据会被原样保存到磁盘中。/全局变量在程序加载时就被初始化/全局变量初始化后在内存中分配了固定的地址;int main()int a = 1;/。

6、局部变量在程序调用的时候才会被初始化;/局部变量调用时,被分配地址是随着每次调用、释放变化的。return (0);3、变量作用域局部变量的名称作用域在一个花括号之间作用域小的名称,将覆盖掉作用域大的名称一个工程里不能有两个重名的全局变量4、static静态存储类型用static声明一个静态变量,那么这个静态变量和全局变量同等对待,放到静态区,在程序被加载时被初始化,之后不再执行初始化;静态局部变量和全局变量,只是作用域和名称不一样,其它的属性都一样(参照上一文档的图)5、用static声明一个全局变量的用法extern声明引用一个外部变量。比如:两个程序文件,a文件可以通过extern声明引。

7、用b文件里面的变量,在编译的时候要将两个程序文件同时编译。static int a=0;用static修饰一个全局变量,那么这个全局变量的作用域仅限于本文件;修饰一个函数的话,效果相同。总结:用static修饰一个局部变量,那么这个局部变量的作用相当于全局变量;用static修饰一个全局变量,那么这个全局变量仅限于它所在文件使用,而不能通过extern声明而被另外的文件使用;用static修饰一个函数,那么这个函数的作用域仅限于它所在的文件,而不能通过extern声明而被另外的文件使用;extern的作用:可以声明函数,也可以声明变量。它的作用是,通过extern声明后,即使本文件中没有该变量和文件,那么也可以通过声明从别的文件中进行引用或者调用。6、大端序和小端序小端序:低地址存低字节;大端序:低地址存高字节int a = 0X(78为低字节)char *q = (char *)&a;q相较于q+1为低地址可以打印比较q和q+1的值,判断所使用系统是大端序还是小端序。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34622572/article/details/117026065

智能推荐

ITRON系统_itron操作系统-程序员宅基地

文章浏览阅读5.5k次。ITRON系统使用方法目录1引言 42ITRON系统介绍 52.1概要 52.2构成 52.2.1ITRON系统构成 52.2.2ITRON体系结构 52.3应用领域 62.4如何使用ITRON系统 63ITRON的基本机能 83.1Task管理机能 83.1.1Task 83.1.2任务调_itron操作系统

C-index/C-statistic 计算的5种不同方法及比较_模型之间c statistics的比较方法-程序员宅基地

文章浏览阅读3.4w次,点赞24次,收藏147次。前言声明: 所有计算基于R软件,如果有人问其他软件如何实现,请自行Google。评价一个预测模型的表现可以从三方面来度量:区分能力(discrimination): 指的是模型区分有病/没病,死亡/活着等结局的预测能力。简单举个例子,比如说,现有100个人,50个有病,50个健康;你用预测模型预测出46个有病,54个没病。那么这46个覆盖到50个真正有病的人的多少就直接决定了你模型_模型之间c statistics的比较方法

System.BadImageFormatException: 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。-程序员宅基地

文章浏览阅读2.2w次。今天更新webservices的时候,如下图: 报出了下面的错误: 在服务端打开asmx文件时,错误信息如下:“/”应用程序中的服务器错误。未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈_system.badimageformatexception: 未能加载文件或程序集“oracle.dataaccess”或

docker进程相关命令_docker 进程查看命令-程序员宅基地

文章浏览阅读259次。docker进程相关命令1、启动docker服务:systemctl start docker2、停止docker服务:systemctl stop docker3、重启docker服务:systemctl restart docker4、查看docker服务状态:systemctl status docker5、设置开机启动docker服务:systemctl enable docker..._docker 进程查看命令

【Java】【网络编程】解决http请求的url中不能包含特殊字符的问题_java请求路径无法添加.符号-程序员宅基地

文章浏览阅读1w次。根据RFC规范,URL中只允许包含以下特殊字符! # $ & ' ( ) * + , - . / : ; = ? @ _ ~ 0-9 a-z A-Z如果需要使用其它字符,则需要在客户端对URL进行编码,再在服务端进行解码 URLEncoder.encode("https://www.baidu.com/?data={..._java请求路径无法添加.符号

rabbitmq中文教程python版 - 发布 / 订阅_python rabbitmq 发布订阅-程序员宅基地

文章浏览阅读675次。源码:https://github.com/ltoddy/rabbitmq-tutorial发布 / 订阅(using the Pika Python client)本章节教程重点介绍的内容在上一篇教程中,我们创建了工作队列。工作队列背后的假设是每个任务只能传递给一个工作人员。 在这一部分,我们将做一些完全不同的事情 - 我们会向多个消费者传递信息。这种模式被称为“发布/..._python rabbitmq 发布订阅

随便推点

架构思维成长系列教程(十二)- 云平台架构设计_云平台架构图设计-程序员宅基地

文章浏览阅读3.3k次,点赞2次,收藏9次。背景云平台是个非常宽泛的领域,一般分成:IaaS 基础设施即服务、PaaS 平台即服务、SaaS 软件即服务,本文侧重介绍企业私有云平台架构。内容云平台技术架构云平台技术架构如图所示,这是一个完整的企业级应用平台,由三个部分组成:底层的存储资源、计算资源、网络资源, 中间层的容器服务、缓存服务、健康检查服务等, 最上层的业务应用、接口应用等这是用云的架构思想构建的企业级应用。IaaS重点介绍一下 IaaS 部分,可以通过打造 Iaas 来构建企业级的私有云平台。_云平台架构图设计

java统计字符出现次数_java计算字符串中某个字符出现的次数-程序员宅基地

文章浏览阅读1.2k次,点赞3次,收藏7次。方法一:public static void main(String[] args) { String str="我的祖国,我爱你伟大的国度!"; Map map=getCount(str); System.out.println(map); } public static Map getCount(String str){ Map map=new Hash..._java计算字符串中某个字符出现的次数

mdns_mdns java 域名注册-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏3次。文章目录DNSmDNSmDNS工作原理DNSDNS又称为域名服务系统:Domain Name System简单来说,我们一般记忆的都是域名,比如www.baidu.com,我们将域名输入浏览器,浏览器就要解析域名,这时候就要使用到DNS服务了,DNS服务中存储了域名与IP的映射对,可以通过这个域名找到对应的 IPmDNS百科中称为多播DNS参考允许系统在局域网中广播查..._mdns java 域名注册

黑马程序员-------IO流_怎么获取枚举对象呢?list自身是无法获取枚举enumeration对象的,考虑到collectio-程序员宅基地

文章浏览阅读548次。------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------1.File1,描述文件和文件夹的对象。2,提供了和系统平台相关的分隔符 File.separator3,提供了一些用于操作文件的方法。 3.1获取操作:getXXX.获取文件大小,名称,目录,修改时间.... _怎么获取枚举对象呢?list自身是无法获取枚举enumeration对象的,考虑到collections

【特征检测】HOG特征算法_hog特征谁提出的-程序员宅基地

文章浏览阅读430次。简介 HOG(Histogram of Oriented Gridients的简写)特征检测算法,最早是由法国研究员Dalal等在CVPR-2005上提出来的,一种解决人体目标检测的图像描述子,是一种用于表征图像局部梯度方向和梯度强度分布特性的描述符。其主要思想是:在边缘具体位置未知的情况下,边缘方向的分布也可以很好的表示行人目标的外形轮廓。 Dalal等提_hog特征谁提出的

Java计算两个日期时间相差几天,几小时,几分钟等_java 两个时间间隔几天寄小时-程序员宅基地

文章浏览阅读6.3k次。Java计算两个日期时间相差几天,几小时,几分钟,其实好简单就可以实现jsp,java中计算两个时间差了public class Test {public void dateDiff(String startTime, String endTime, String format) {//按照传入的格式生成一个simpledateformate对象SimpleDateFormat sd = _java 两个时间间隔几天寄小时