Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tulis program C untuk memaparkan saiz dan mengimbangi ahli struktur

Tulis program C untuk memaparkan saiz dan mengimbangi ahli struktur

WBOY
WBOYke hadapan
2023-08-29 20:09:19735semak imbas

Tulis program C untuk memaparkan saiz dan mengimbangi ahli struktur

Soalan

Tulis atur cara C untuk mentakrifkan struktur dan memaparkan saiz dan mengimbangi pembolehubah ahli#🎜🎜

Structure - Ia ialah koleksi pembolehubah jenis data yang berbeza, dikumpulkan di bawah satu nama.

Bentuk am struktur pengisytiharan

datatype member1;
struct tagname{
   datatype member2;
   datatype member n;
};

Di sini, struct - kata kunci

tagname - menyatakan nama struktur #🎜🎜🎜🎜🎜 #member1, member2 - menentukan item data yang membentuk struktur.

Contoh

struct book{
   int pages;
   char author [30];
   float price;
};

Pembolehubah struktur

Terdapat tiga cara untuk mengisytiharkan pembolehubah struktur-

#🎜🎜🎜##🎜🎜🎜 #
struct book{
   int pages;
   char author[30];
   float price;
}b;

Kaedah 2

struct{
   int pages;
   char author[30];
   float price;
}b;

Kaedah 3

struct book{
   int pages;
   char author[30];
   float price;
};
struct book b;

Inisialisasi dan struktur akses

#🎜🎜🎜#Pautan yang tersimpan antara ahli dan struktur menggunakan operator ahli (atau operator titik).

boleh dimulakan dengan cara berikut:

Kaedah 1

struct book{
   int pages;
   char author[30];
   float price;
} b = {100, "balu", 325.75};

Kaedah 2

struct book{
   int pages;
   char author[30];
   float price;
};
struct book b = {100, "balu", 325.75};
#🎜 Operator ahli)

struct book{
   int pages;
   char author[30];
   float price;
} ;
struct book b;
b. pages = 100;
strcpy (b.author, "balu");
b.price = 325.75;

Kaedah empat (menggunakan fungsi scanf)

struct book{
   int pages;
   char author[30];
   float price;
} ;
struct book b;
   scanf ("%d", &b.pages);
   scanf ("%s", b.author);
   scanf ("%f", &b. price);

Isytihar struktur menggunakan ahli data dan cuba cetak nilai offset mereka dan saiz struktur.

Program

Demonstrasi masa nyata

#include<stdio.h>
#include<stddef.h>
struct tutorial{
   int a;
   int b;
   char c[4];
   float d;
   double e;
};
int main(){
   struct tutorial t1;
   printf("the size &#39;a&#39; is :%d</p><p>",sizeof(t1.a));
   printf("the size &#39;b&#39; is :%d</p><p>",sizeof(t1.b));
   printf("the size &#39;c&#39; is :%d</p><p>",sizeof(t1.c));
   printf("the size &#39;d&#39; is :%d</p><p>",sizeof(t1.d));
   printf("the size &#39;e&#39; is :%d</p><p>",sizeof(t1.e));
   printf("the offset &#39;a&#39; is :%d</p><p>",offsetof(struct tutorial,a));
   printf("the offset &#39;b&#39; is :%d</p><p>",offsetof(struct tutorial,b));
   printf("the offset &#39;c&#39; is :%d</p><p>",offsetof(struct tutorial,c));
   printf("the offset &#39;d&#39; is :%d</p><p>",offsetof(struct tutorial,d));
   printf("the offset &#39;e&#39; is :%d</p><p></p><p>",offsetof(struct tutorial,e));
   printf("size of the structure tutorial is :%d",sizeof(t1));
   return 0;
}

Output

the size &#39;a&#39; is :4
the size &#39;b&#39; is :4
the size &#39;c&#39; is :4
the size &#39;d&#39; is :4
the size &#39;e&#39; is :8
the offset &#39;a&#39; is :0
the offset &#39;b&#39; is :4
the offset &#39;c&#39; is :8
the offset &#39;d&#39; is :12
the offset &#39;e&#39; is :16

size of the structure tutorial is :24

Atas ialah kandungan terperinci Tulis program C untuk memaparkan saiz dan mengimbangi ahli struktur. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam