日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

一起來了解一下C++的結(jié)構(gòu)體?struct_C 語言

作者:南城同學(xué) ? 更新時(shí)間: 2022-04-23 編程語言

struct 結(jié)構(gòu)體

占用空間

在C++ 中空結(jié)構(gòu)體占1個(gè)字節(jié)

struct Temp{};sizeof(Temp); // 1struct Temp{};
sizeof(Temp); // 1

1.字節(jié)對(duì)齊規(guī)則(為了便于cpu尋址) 元素的首地址必須是當(dāng)前元素所占空間的整數(shù)倍

2.結(jié)構(gòu)體的總長(zhǎng)度必須是最大元素所占空間的整數(shù)倍

struct Stu{
	int age;
	char sex;
}
sizeof(Stu); // 8 最后補(bǔ)三個(gè)字節(jié)滿足規(guī)則2

struct Stu2{
	char sex;
	int age;
}
sizeof(Stu2); // 8 char后面補(bǔ)三個(gè)字節(jié)滿足規(guī)則1

與類的區(qū)別

訪問控制權(quán)限

結(jié)構(gòu)體在C++ 中的默認(rèn)訪問控制權(quán)限都是***public***的,而class的默認(rèn)是***private***的

主要用途

結(jié)構(gòu)體主要是作為數(shù)據(jù)的集合

而類是對(duì)象,是屬性和方法的集合

c結(jié)構(gòu)體實(shí)現(xiàn)虛函數(shù)的功能

#include <stdio.h>
typedef int(*fun)(void);
int getParentSex() 
{
    return 1;
}
int getSonSex() 
{
    return 2;
}
struct Parent
{
    fun getSex;
};
struct Son
{
    fun getSex;
};
int main()
{
	// 通過函數(shù)指針的賦值達(dá)到虛函數(shù)的作用
    struct Parent parent;
    parent.getSex = getParentSex;
    struct Son son;
    son.getSex = getSonSex;
    printf("Parent sex is %d \nson sex is %d\n", parent.getSex(), son.getSex());
    getchar();
}

總結(jié)

原文鏈接:https://blog.csdn.net/guuci/article/details/122973706

欄目分類
最近更新