Selasa, 02 Januari 2018

Struct

Contoh penulisan strutc pada c

struct structure_name {
data_type member1;
data_type member2;
data_type memeber; };
Struct structure_name person;//inisial structur dengan nama person

Int tampung;
Strut pada c
Struct data{
Char nama[5];
Int harga;
};
Struct data barang ;

barang.nama[5]="sabun";//salah karena ga bisa harus 5 sekaligus harus 1 1
//Kalo mau sekaligus kita bisa menggunakan fungsi string karena pada c tidak mendukung string maka kita harus nambah library string
Strcpy(barang.nama,"sabun");//ni benar
barang.harga=200;

//atau bisa langsung ditulis sprti ini
Struct data barang2{"sapu",200};
//Kita juga bisa pakai pointer dengan
//menggunakan tanda ini -> contoh
//kita deklarasikan dulu pointernya
Struct data *ptr;
ptr=&barang2;
Tampung=ptr->harga;
Printf("nama barang",ptr->nama);

//////////////////////////////////////////////////////////////
Contoh lain
Struct data{
Char a;
Int b;
Char c[7];
}ab[2]={{'a',25,"halo"},{'b',50,"word"}};

Void main(void){
Char k1,k2,k3,k4;
Int i1,i2;
//Definisikan pointer pada struktur
Struct data *ptr;
//Akses langsung struktur
K1=se[0].a;
i1=se[0].b;
K2=se[0].c[2];

K3=se[1].a;
i2=se[1].b;
K4=se[1].c[2];
//Lewat pointer
Ptr=&se;
K1=ptr->a;
i1=ptr->b;
K2=ptr->c[2];
//Untuk akses yang ke 2 pointer perlu ditambahkan
++ptr;
K3=ptr->a;
i2=ptr->b;
K4=ptr->[2];
}
Contoh pointer this ini hanya di c++
include <conio.h>
using namespace std;
class sample {
int a,b;
public:
void input(int a,int b) {
this->a=a+b; this->b=a-b; //pointer menyiman alamat objek dari x dan mengakses data a;
}
void output() {
cout<<"a = "<<a<<endl<<"b = "<<b; } };
int main() {
sample x;
x.input(5,8);
x.output();
getch();
return 0; }

Hasilnya

a = 13 b = -3

Menggunakan typedef contoh

typedef struct complex {
int imag;
float real;
} comp;
int main() {
comp comp1, comp2;
}