C语言实现 数据类型占多少字节指针占多少字节

具体代码如下所示:

#include<stdio.h>
void main()
{
  //使用sizeof验证数据类型在内存中占用的空间大小
//  char
//  int
//  short
//  long
//  unsigned int
//  float
//  double
//  long double
  printf("在64位机器中:\n");
  printf("    char类型占%d个字节\n",sizeof(char));
  printf("    short类型占%d个字节\n",sizeof(short));
  printf("     int类型占%d个字节\n",sizeof(int));
  printf("    long类型占%d个字节\n",sizeof(long));
  printf("unsigned int类型占%d个字节\n",sizeof(unsigned int));
  printf("    float类型占%d个字节\n",sizeof(float));
  printf("   double类型占%d个字节\n",sizeof(double));
  printf(" long double类型占%d个字节\n",sizeof(long double));
  printf("-------------------指针占4个字节---------------------\n");
  char *p0;
  short *p1;
  int *p2;
  long *p3;
  unsigned int *p4;
  float *p5;
  double *p6;
  long double *p7;
  printf("    char类型指针占%d个字节\n",sizeof(p0));
  printf("    short类型指针占%d个字节\n",sizeof(p1));
  printf("     int类型指针占%d个字节\n",sizeof(p2));
  printf("    long类型指针占%d个字节\n",sizeof(p3));
  printf("unsigned int类型指针占%d个字节\n",sizeof(p4));
  printf("    float类型指针占%d个字节\n",sizeof(p5));
  printf("   double类型指针占%d个字节\n",sizeof(p6));
  printf(" long double类型指针占%d个字节\n",sizeof(p7));
}

结果:

在64位机器中:
    char类型占1个字节
    short类型占2个字节
     int类型占4个字节
    long类型占4个字节
unsigned int类型占4个字节
    float类型占4个字节
   double类型占8个字节
 long double类型占12个字节
-------------------指针占4个字节---------------------
    char类型指针占4个字节
    short类型指针占4个字节
     int类型指针占4个字节
    long类型指针占4个字节
unsigned int类型指针占4个字节
    float类型指针占4个字节
   double类型指针占4个字节
 long double类型指针占4个字节

知识点扩展:

c语言实现十进制与ASCII码互转

//十进制转ASCII码
//年#define KB2ASC(x) (u8)(0x30+x)
//ASCII码转十进制
//年
#define ASC2KB(x) (u8)(x%(0x30))

总结

以上所述是小编给大家介绍的C语言实现 数据类型占多少字节指针占多少字节,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • C语言指针详解及用法示例

    新手在C语言的学习过程中遇到的最头疼的知识点应该就是指针了,指针在C语言中有非常大的用处.下面我就带着问题来写下我对于指针的一些理解. 指针是什么? 指针本身是一个变量,它存储的是数据在内存中的地址而不是数据本身的值.它的定义如下: int a=10,*p; p=&a int a=10; int *p=&a; 首先我们可以理解 int* 这个是要定义一个指针p,然后因为这个指针存储的是地址所以要对a取地址(&)将值赋给指针p,也就是说这个指针p指向a. 很多新手都会对这两种定义方法

  • C语言中的指针以及二级指针代码详解

    很多初学者都对C中的指针很迷糊,希望这篇blog能帮助到大家: 1.什么是"指针": 在执行C程序的时候,由于我们的数据是存储在内存中的.所以对于C程序本身来说,如果想找到相应被调用的数据,就要知道存储该数据的内存地址是多少,换言之,C程序通过已知的内存地址到相应的内存位置存储数据. 这里简单说一下内存管理(对于初学者来说.为了避免专业术语引发的理解问题,下面的叙述尽量避免专业定义:),对于现代计算机系统来说,内存空间分为两个区域,一个是"数据区",一个是"

  • C语言数据类型转换实例代码

    数据类型转换就是将数据(变量.表达式的结果)从一种类型转换到另一种类型.例如,为了保存小数你可以将int类型的变量转换为double类型. 数据类型转换的一般格式为: (type_name) expression type_name为要转换到的数据类型,expression为表达式.例如: (float) a; //把a转换为实型 (int)(x+y); //把x+y的结果转换为整型 (float) 100; //将一个常量转换为实型 [示例]将整数转换为浮点数: #include <stdio

  • 详解C语言中Char型指针数组与字符数组的区别

    详解C语言中Char型指针数组与字符数组的区别 1.char 类型的指针数组:每个元素都指向一个字符串,指向可以改变 char *name[3] = { "abc", "def", "gbk" }; for(int i = 0 ; i < strlen(name); i ++){ printf("%s\n", *(name+i)); //printf("%s\n", name[i]); } //指向改

  • 详解C语言中的char数据类型及其与int类型的转换

    C语言中的char变量 char是C/C++整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed.虽然char在标准中是unsigned(因为char类型提出的初衷是用来表示ascii码,ascii码的范围是0~127),但实际情况中究竟是signed还是unsigned取决于编译器. 可通过下面程序判断编译器的默认char类型: void char_type() { char c=0xFF; if(c==-1) printf

  • C语言 数据类型详细介绍

    C 数据类型 在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统.变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式. C 中的类型可分为以下几种: 序号 类型与描述 1 基本类型: 它们是算术类型,包括两种类型:整数类型和浮点类型. 2 枚举类型: 它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量. 3 void 类型: 类型说明符 void 表明没有可用的值. 4 派生类型: 它们包括:指针类型.数组类型.结构类型.共用体类型和函数类型.

  • C语言指针应用简单实例

    C语言指针应用简单实例 这次来说交换函数的实现: 1. #include <stdio.h> #include <stdlib.h> void swap(int x, int y) { int temp; temp = x; x = y; y = temp; } int main() { int a = 10, b = 20; printf("交换前:\n a = %d, b = %d\n", a, b); swap(a, b); printf("交换

  • 浅谈C语言编程中的布尔bool数据类型

    我们知道在C++里有专门的bool类型,用来表示真或假.但是在C语言里没有这样的类型(至少我是一直这么认为的),表达式的值0为假,非0为真.所以条件判断语句( if(-).while(-) )非常灵活,甚至一个指针类型都可以是条件表达式. 为了使程序更清晰,我们常常会给出如下的宏定义: typedef int BOOL; #define TRUE 1 #define FALSE 0 这是最常见的写法,能被任何C语言编译器认可. 今天我在一段程序里看见这么一行 #include ,这个陌生的头文件

  • 深入解析C语言中常数的数据类型

    废话不多说,上代码 复制代码 代码如下: //编译环境:codeblocks+gcc#include <stdio.h>#include <stdint.h>int Fun(){    uint64_t y;    uint32_t x1, x2; //y = 3000 * 24000000 / 1000;//常数默认作为32位数据,临时运算结果也是32位,溢出错误    //y = (uint64_t)3000 * (uint64_t)24000000 / 1000;//常数强制

  • C语言实现 数据类型占多少字节指针占多少字节

    具体代码如下所示: #include<stdio.h> void main() { //使用sizeof验证数据类型在内存中占用的空间大小 // char // int // short // long // unsigned int // float // double // long double printf("在64位机器中:\n"); printf(" char类型占%d个字节\n",sizeof(char)); printf(" s

  • Android NDK开发(C语言基本数据类型)

    目录 1.C 语言包含的数据类型 2.C语言的基本数据类型 3.示例代码 1.C 语言包含的数据类型 如下图所示: 2.C语言的基本数据类型 short.int.long.char.float.double 这六个关键字代表C 语言里的六种基本数据类型. 格式化输出的时候: int %d short %d long %ld float %f double %lf char %c %x 十六进制 %o 八进制 %s 字符串 %p一般以十六进制整数方式输出指针的值,附加前缀0x 在32 位的系统上s

  • 深入理解C语言中使用频率较高的指针与数组

    目录 定义 指针与二维数组 指针数组与数组指针 数组指针的应用 操作 总结 定义 指针:C语言中某种数据类型的数据存储的内存地址,例如:指向各种整型的指针或者指向某个结构体的指针. 数组:若干个相同C语言数据类型的元素在连续内存中储存的一种形态. 数组在编译时就已经被确定下来,而指针直到运行时才能被真正的确定到底指向何方.所以数组的这些身份(内存)一旦确定下来就不能轻易的改变了,它们(内存)会伴随数组一生. 而指针则有很多的选择,在其一生他可以选择不同的生活方式,比如一个字符指针可以指向单个字符

  • C语言一看就懂的指针与结构体介绍

    目录 指针 结构体 指针 指针是C语言或者是c++里面最让人头疼的内容之一,正所谓指针在手,可以任指天下,这里只是简单的介绍指针的一些概念,后期我们将会深入剖析指针的基本原理. 注意:一个汉字占2个字节! 首先我们需要认识一下内存这个基本概念: 内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的,为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节,为了能够有效的访问到内存中的每个单元,就把内存单元进行了编号,这些编号被称为内存单元的地址. #inc

  • 浅析Go语言的数据类型及数组

    目录 Go语言身世简介 Go语言的第一个程序 Go语言的数据类型 Go语言匿名变量 Go语言的数据类型 Go语言中的数组 Go语言身世简介 Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型.编译型语言.Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算. Go语言的第一个程序 我们使用的IDE工具为GoLand(没错,又是Jetbrain

  • GO语言基本数据类型总结

    本文实例总结了GO语言基本数据类型.分享给大家供大家参考.具体如下: 1.注释(与C++一样) 行注释://块注释:/* ...*/ 2.标识符 可以这么说,除了数字开头的不允许,符号开头的不允许,关键字不允许,其他的Unicode字符组合都可以."_33"也可以是标识符."我们"也可以是标识符.标识符也区分大小写. (1).以大写字母开头的标识符是公开的.(这个很有意思) (2).其他任何标识符都是私有的. (3).空标识符"_"是一个占位符,

  • 浅析易语言的数据类型及其长度

    以下是我们整理的关于易语言中数据类型的表格: 数据名称 数据类型长度 字节型 0~255个字节 短整数型 -32,768 到 32,767 之间的数值,尺寸为 2 个字节 整数型 -2,147,483,648 到 2,147,483,647 之间的数值,尺寸为 4 个字节 长整数型 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 之间的数值,尺寸为 8 个字节 小数型 3.4E +/- 38 (7位小数) 之间的数值,尺寸为 4 个字

  • 易语言的数据类型整理

    数据类型分为系统基本数据类型.库定义数据类型.用户自定义数据类型三类. 系统基本数据类型列表及其说明如下: 1. 字节型.可容纳 0 到 255 之间的数值. 2. 短整数型.可容纳 -32,768 到 32,767 之间的数值,尺寸为 2 个字节. 3. 整数型.可容纳 -2,147,483,648 到 2,147,483,647 之间的数值,尺寸为 4 个字节. 4. 长整数型.可容纳 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,80

  • c语言中如何修改文件中间的几个字节

    fopen的打开模式 在C语言中文件打开方式有这么几种: r 以只读方式打开文件,只能读不能写,往文件中写是没有任何效果的 r+ 可以读,也可以写,文件打开的时候,指向文件开头,可以通过seek改变读写位置 w 这种方式打开的文件句柄,只能写,如果文件存在则将长度清零,否则新建文件,这种句柄通过seek之后,seek位置之前的文件数据全部变成0x00 w+ 同w选项,只不过多了一个可读功能 a 这种方式打开的文件,可以写,但是位置在文件末尾,即使往回seek也没有用,数据还是从文件末尾开始附加

  • C语言自定义数据类型的结构体、枚举和联合详解

    结构体基础知识 首先结构体的出现是因为我们使用C语言的基本类型无法满足我们的需求,比如我们要描述一本书,就需要书名,作者,价格,出版社等等一系列的属性,无疑C语言的基本数据类型无法解决,所以就出现了最重要的自定义数据类型,结构体. 首先我们创建一个书的结构体类型来认识一下 struct Book { char name[20]; char author[20]; int price; }; 首先是struct是结构体关键字,用来告诉编译器你这里声明的是一个结构体类型而不是其他的东西,然后是Boo

随机推荐