标准C语言提供了一下基础类型及结构体和联合体:
char(1),short(2),int(4),float(4),double(8),通过以下代码可以辅佐验证。
#include "stdafx.h" #include "stdlib.h" #include "stdio.h" void print(char arr[], char *pt); int main(int argc, _TCHAR* argv[]) { char *t = "abc"; printf("pointer is %s\n", t); printf("addr of pointer is %d\n", &t); char arr[20]; char *pt = (char *)malloc(sizeof(char) * 20); //原始类型 printf("sizeof original arr :%d\n", sizeof(arr)); printf("sizeof original p :%d\n", sizeof(pt)); //参数传递后 print(arr, pt); //基础数据类型(primative) unsigned char byte; printf("sizeof byte :%d\n", sizeof(byte)); printf("sizeof char :%d\n", sizeof(char)); short _2byte; printf("sizeof short :%d\n", sizeof(_2byte)); printf("sizeof int :%d\n", sizeof(int)); printf("sizeof float :%d\n", sizeof(float)); printf("sizeof double :%d\n", sizeof(double)); system("pause"); return 0; } void print(char arr[], char *pt) { printf("sizeof arr :%d\n", sizeof(arr)); printf("sizeof pt :%d\n", sizeof(pt)); }
运行结果如下:
href-------------------------------------
其中指针是内存地址,所以等于地址总线宽度这里和int的大小一致( 不同平台长度可能不一样);数组大小即是数组长度,但是作为实参传递后,数组退化为指针,长度变为4。
C中没有java中byte类型,内存分配是以char为单位。
关于sizof在百度百科中有如下说明:
sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。
MSDN上的解释为:
The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type(including aggregate types). This keyword returns a value of type size_t.
其返回值类型为size_t,在头文件stddef.h中定义。这是一个依赖于编译系统的值,一般定义为1
typedef unsigned int size_t;
在C99及以上标准中,sizeof(char)、sizeof(int)、sizeof(long)、sizeof(long long)、sizeof(float)、sizeof(double)、sizeof(long double)的值分别是1,4,4,8,4,8,16。 [1]
sizeof的计算发生在编译时刻,所以它可以被当作常量表达式使用,如:char ary[sizeof(int)*10];//ok
参考资料:
https://baike.baidu.com/item/sizeof
相关推荐
C语言数据类型 C语言数据类型是指C语言中可以使用的各种数据类型,包括基本类型、构造类型和指针类型。理解数据类型是学习C语言的基础。...C语言数据类型是C语言的基础,理解数据类型是学习C语言的关键。
《C语言数据类型课件讲义指导》 C语言是一种广泛应用的编程语言,以其简洁、高效和灵活性著称。在C语言中,了解并掌握数据类型是编程的基础。本讲义将深入探讨C语言的数据类型、常量与变量以及相关的编程规则。 1....
本压缩包“C语言数据类型/运算符/表达式.rar”显然是一个关于C语言基础知识的学习资料,主要涵盖了数据类型、运算符以及表达式这三大核心概念。 首先,我们来探讨C语言中的数据类型。数据类型是C语言的基础,它定义...
本文将深入探讨C语言中的数据类型转换,帮助开发者更好地理解和运用这一概念。 一、隐式类型转换(自动类型转换) 当不同类型的数值进行运算时,C语言会自动进行类型转换,以保证操作的正确性。例如,如果一个int...
本文探讨了C语言中数据类型教学方法,旨在帮助学生更好地理解和应用C语言中的数据类型。文章首先强调了数据类型在C语言学习中的重要性,然后对基本数据类型进行了分类,包括整型数据、浮点型数据和字符型数据。接着...
总的来说,理解和掌握C语言中的数据类型及其运算规则是编程的基础,这有助于编写出有效、高效的代码。学习C语言,不仅需要熟悉这些基础知识,还要通过实践来加深理解,通过编写和调试代码来提升技能。
这样的练习有助于巩固对C语言数据类型和输出函数的理解。 总的来说,这个实验覆盖了C语言编程的基础知识,包括数据类型的定义、取值范围、内存占用以及基本的输入输出操作。掌握这些内容是学习更高级C语言编程技巧...
C语言是一种强大的编程语言,它的核心之一就是数据类型。数据类型定义了变量的存储方式、取值范围以及可执行的操作。下面将详细讲解C语言中的数据类型。 首先,C语言中的基本数据类型包括数值类型、字符类型和空...
第六讲.C语言数据类型及表达式上--力天手把手教你学单片机之基础篇"中,我们将深入探讨C语言的基础知识,特别是数据类型和表达式,这对于理解和编写单片机程序至关重要。C语言是一种广泛应用的编程语言,尤其在...
C语言的核心在于它的简洁性和强大的功能,它提供了丰富的数据类型,如整型、浮点型、字符型等,以及控制结构(如if语句、switch语句、for和while循环)和函数定义。通过这些基础,我们可以构建出复杂的程序逻辑,以...
C语言是计算机编程的基础语言,它的数据类型和运算规则构成了理解C语言程序设计的核心内容。C语言的发展历程始于贝尔实验室的Dennis Ritchie在1972年,它以其高效、简洁和强大的低级硬件控制能力而著名。C语言的程序...
C语言数据类型和常量 C语言是一种功能强大且广泛使用的程序设计语言,在计算机程序设计中占据着重要的地位。了解C语言的数据类型和常量是学习C语言的基础。 C语言的数据类型可以分为两大类:基本类型和构造类型。...
总结来说,理解C语言的基本数据类型及其表示方式是编写有效C程序的基础。通过掌握这些概念,程序员可以有效地管理内存,创建和操作不同类型的数据,以及编写出高效且准确的代码。在准备考试时,确保对这些知识点有...
通过学习《C语言数据结构与算法》,你可以全面提升你的编程能力,从概念理解到实践应用,逐步成为一名熟练的C语言程序员。同时,这份资料集成了多位高级教师的笔记和C网的精华,将帮助你在学习过程中少走弯路,更好...
1. **基本语法**: C语言的基础包括变量、数据类型、运算符、控制结构(如if语句和switch语句)、循环(for、while、do-while)等。在习题中,这些基本概念会通过各种实例进行检验,例如,如何正确声明和初始化变量,...
以上就是《C语言数据结构与算法》的主题概览,学习这本书将帮助你深入理解计算机内部运作,提升编程技能,为后续的软件开发和系统级编程打下坚实的基础。通过实践和练习,你将能够运用这些知识解决实际问题,编写出...