亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Struct和Union的區別

發布時間:2020-07-23 04:24:47 來源:網絡 閱讀:583 作者:檸檬dream 欄目:編程語言

Struct:結構體

Union:聯合體

 聯合體是幾個不同類型的變量共占一段內存(相互覆蓋),因為是內存共享,所以它不能同時存放多個成員的值,而只能存放其中的一個值,就是最后賦予它的值,例如:

uni.a=3,uni.b=4.5,uni.c="A";賦值之后共享的同一塊內存的值會被覆蓋。對于union的不同成員賦值,將會對其它成員重寫,原來成員的值就不存在了。union的內存大小為其內部所有成員的最大值。

union UN
{
	char c;//1
	int a;//4
	float b;//4
	double g;
}uni;

void Test()
{
	uni.a = 4;
	uni.b = 1.5;
	uni.c = 'f';
	printf("%d\n",uni.a);
	printf("%f\n",uni.b);
	printf("%c\n",uni.c);
}
int main()
{
    Test();
    return 0;
}

 聯合體的應用:大小端

 

#include<stdio.h>
union UN
{
	int i;
	char j;
}a;
void Test ()
{
	a.i=1;
	if(a.j==0)
	{
		printf("大端\n");
	}
	else 
	{
		printf("小端\n");
	}

}

int main()
{
	Test();
	return 0;
}

 結構體也是由多個不同的數據類型成員組成,但在任何同一時刻,結構體存放所有的成員變量,結構體的不同成員賦值是相互不影響的,它的內存也是按照最大類型的倍數進行分配大小,但還是與順序有關。

struct student
{
	char *name;//4
	int age;//4
	char *sex;//4
	char c;
	int num;//4
	double b;
}d;

void Test()
{
	struct student s;
	d.age=12;
	printf("%d\n",sizeof(d));
	printf("%d\n",d.age);
	printf("%s\n",d.sex);
}

int main()
{
	Test();
	return 0;
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陇川县| 淳安县| 海伦市| 张家港市| 临夏县| 牙克石市| 沛县| 宿松县| 铜陵市| 连江县| 镶黄旗| 大石桥市| 尤溪县| 宁晋县| 和田县| 兴业县| 上高县| 竹北市| 宣恩县| 宝清县| 重庆市| 界首市| 芦山县| 台东县| 怀远县| 平度市| 湖北省| 宾川县| 宁河县| 玉山县| 南雄市| 蕲春县| 武汉市| 黄冈市| 庆元县| 滕州市| 兴安盟| 南涧| 冕宁县| 通江县| 恩施市|