C++中的数据类型

时间:2020-02-23 14:29:56  来源:igfitidea点击:

数据类型可帮助关联的变量了解它们可以存储到其中的数据类型。

C++数据类型

C++中的用户定义数据类型

C++语言为我们提供了用户定义的数据类型,即用户/程序员创建的数据类型。

以下是C++中用户定义类型的类型:

  • 结构体
  • 联盟
  • 枚举

1.结构

结构类型,将不同数据类型的元素分组到自定义数据类型(结构)下,并由单个结构名称表示。

语法:

struct Structure_Name 
{
  Datatype data_member1;
  Datatype data_member2;
  .
  .
  Datatype data_memberN;
};

例:

struct Student_info
{ 
char name[100]; 
char address[100]; 
char division[50]; 
int roll_num; 
};

2.联合

联合类型具有与结构相同的功能。

唯一的区别是,在联合程序中,所有数据成员在程序执行期间共享相同的内存空间,该空间等于最大变量的大小。

语法:

Union Union_Name 
{
  Datatype data_member1;
  Datatype data_member2;
  .
  .
  Datatype data_memberN;
};

例:

union Student_info
{ 
char name[100]; 
char address[100]; 
char division[50]; 
int roll_num; 
};

在上面的代码中,名称和地址在声明的所有数据成员中最大,因为我们将其大小指定为100。

因此,编译器会将最大变量的大小(即名称或者地址)分配给内存存储以容纳它们,并且所有变量将共享相同的内存空间(100)和地址。

3.枚举

枚举类型有助于提高代码的可读性。
它将名称分配给程序中的整数。

这些类型从零开始索引,类似于数组的索引方式。

语法:

enum enumeration_type_name{value1, value2,..valueN};

例:

#include <iostream> 
using namespace std; 

enum Days { Mon, 
          Tue, 
          Wed, 
          }; 

int main() 
{ 

  for (int i = Mon; i <= Wed; i++) 
      cout << i << " "; 

  return 0; 
} 

输出:

0 1 2 

C++中的派生数据类型

派生类型是从内置/原始数据类型派生或者形成的。

以下是派生数据类型的类型:

  • 数组
  • 功能
  • 指针

1.数组

数组是一种线性数据结构,以线性/顺序方式将元素存储在连续的内存位置中。
元素从零开始索引。

语法:

Data_type array_Name[size];

例:

#include <iostream> 
using namespace std;
int main() 
{ 

	//Array Derived Type 
	int arr[4]; 
	int sum=0;
  cout<<"Enter the elements..\n";
  for(int i =0; i<4; i++)
  {
      cin>>arr[i];
  }

 for(int i=0; i<4; i++)
 {
  sum+=arr[i];   
 }

 cout<<"Addition of elements of array:\n ";
 cout<<sum;
	return 0; 
} 

输出:

Enter the elements..
10
20
30
40
Addition of elements of array:
 100

2.函数

函数是一个语句块,特别是其中执行一组任务。
它们使代码更加有效和可读。

语法:

Data_type function_Name(Arguments)

例:

#include <iostream> 
using namespace std; 

int sum(int a, int b) //function definition
{   int sum=0;
	sum = a+b;
	return sum;
}	

 
int main() 
{ 
	int a = 20, b = 40; 
      int result = sum(a, b); //Calling the function
      cout <<"Result of addition:\n"<< result; 
	return 0; 
} 

在上面的代码片段中,我们使用一个函数对两个数字进行了加法运算。

输出:

Result of addition:
60

3.指针

指针类型代表数据成员的地址。
它们保存指向的另一个数据成员的地址。

语法:

data_type *variable;

例:

#include <iostream> 
using namespace std; 

int main() 
{   int val = 10;
	int* p;
	p = &val;
	cout<<"p = "<<p<<"\n"; //address of val
  cout<<"val = "<<val<<"\n";	
  cout<<"*p = "<<*p<<"\n";
} 

输出:

p = 0x7ffd328d4a34
val = 10
*p = 10

C++中的原始数据类型

基本数据类型是内置的数据类型,用户可以直接使用它们来设置操作。

1.整数(int)

整数数据类型保存2个字节的内存。
范围从2147483648到2147483647。

语法:

int variable = value;

2.字符(char)

字符数据类型用于存储字符值。
字符类型保存1个字节的内存空间,范围从128到127或者0到255。

语法:

char variable = 'val';

3.浮点数(float)

浮点数据类型用于存储单精度数据值,即十进制值。
它拥有4个字节的存储空间。

语法:

float variable = val;

4.双精度数(double)

双精度数据类型用于存储双精度浮点数据值。
它拥有8个字节的存储空间。

语法:

double variable = val;

5.布尔值(布尔)

布尔类型存储并表示逻辑值。
它们以对或者错的形式表示结果。

bool variable = true/false;

6.void

void类型表示没有任何值的实体。
它们用作不返回任何值的函数的数据类型。