typedef使用大全2

2021-04-13 21:38:56 字數 3080 閱讀 9002

#defines(s) printf("%s/n",#s); s

typedefstruct_ts1ts1, *pts1, ***pppts1;

// ts1

是結構體的名稱,

pts1

是結構體指標的名稱

// 也就是將結構體

struct _ts1

命名為ts1,

// 將struct _ts1 *

命名為pts1

// 將struct _ts1 ***

命名為pppts1

typedefstructts2, *pts2;

typedefpts1*ppts1; //

定義ppts1

是指向pts1

的指標

typedefstruct_tts1iner;

ineri;

intx, y;

} tts1;

//結構體內部的結構體也一樣可以定義

typedeftts1::itts1its1;

voidtest_struct()

; pts1pts1 = &ts1; //

完全等價於

ts1* pts1 = &ts1;

ppts1ppts1 = &pts1; //

完全等價於

ts1** ppts1 = &pts1;

pppts1pppts1 = &ppts1; //

完全等價於

ts1*** pppts1 = &ppts1;

ts2ts2 = ;

pts2pts2 = &ts2;

// 完全等價於

ts2* pts2 = &ts2;

tts1itts1 = , 10, 20};

its1* rits1 = &itts1.i;

its1*&its1 = rits1; //

等價於tts1::itts1 *its1 = &(itts1.i);

printf("ts1/t = (%d, %d)/n*pts1/t = (%d, %d)/n"

"**ppts1/t = (%d, %d)/n***pppts1= (%d, %d)/n/n",

ts1.x, ts1.y, pts1->x, pts1->y,

(**ppts1).x, (**ppts1).y, (***pppts1).x, (***pppts1).y);

printf("ts2/t = (%d, %d)/n*pts2/t = (%d, %d)/n/n",

ts2.x, ts2.y, pts2->x, pts2->y);

printf("itts1/t = [(%d, %d), %d, %d]/n*its1/t =(%d, %d)/n/n",

itts1.i.x, itts1.i.y, itts1.x, itts1.y, its1->x, its1->y);

s(pts1->x = 119);

s(pts2->y = 911);

s(its1->x = 999);

printf("ts1/t = (%d, %d)/n*pts1/t = (%d, %d)/n"

"**ppts1/t = (%d, %d)/n***pppts1= (%d, %d)/n/n",

ts1.x, ts1.y, pts1->x, pts1->y,

(**ppts1).x, (**ppts1).y, (***pppts1).x, (***pppts1).y);

printf("ts2/t = (%d, %d)/n*pts2/t = (%d, %d)/n/n",

ts2.x, ts2.y, pts2->x, pts2->y);

printf("itts1/t = [(%d, %d), %d, %d]/n*its1/t =(%d, %d)/n/n",

itts1.i.x, itts1.i.y, itts1.x, itts1.y, its1->x, its1->y);

s((*ppts1)->y = -9999);

printf("ts1/t = (%d, %d)/n**ppts1/t = (%d, %d)/n/n",

ts1.x, ts1.y, (*ppts1)->x, (*ppts1)->y);

s((**pppts1)->x = -12345);

s((***pppts1).y = -67890);

printf("ts1/t = (%d, %d)/n*pts1/t = (%d, %d)/n"

"**ppts1/t = (%d, %d)/n***pppts1= (%d, %d)/n/n",

ts1.x, ts1.y, pts1->x, pts1->y,

(**ppts1).x, (**ppts1).y, (***pppts1).x, (***pppts1).y);

}

Oracle 游標使用大全2

游標for迴圈 在大多數時候我們在設計程式的時候都遵循下面的步驟 1 開啟游標 2 開始迴圈 3 從游標中取值 4 檢查那一行被返回 5 處理 6 關閉迴圈 7 關閉游標 可以簡單的把這一類 稱為游標用於迴圈。但還有一種迴圈與這種型別不相同,這就是for迴圈,用於for迴圈的游標按照正常的宣告方式宣...

Oracle 游標使用大全2

游標for迴圈 在大多數時候我們在設計程式的時候都遵循下面的步驟 1 開啟游標 2 開始迴圈 3 從游標中取值 4 檢查那一行被返回 5 處理 6 關閉迴圈 7 關閉游標 可以簡單的把這一類 稱為游標用於迴圈。但還有一種迴圈與這種型別不相同,這就是for迴圈,用於for迴圈的游標按照正常的宣告方式宣...

Oracle 游標使用大全2

游標for迴圈 在大多數時候我們在設計程式的時候都遵循下面的步驟 1 開啟游標 2 開始迴圈 3 從游標中取值 4 檢查那一行被返回 5 處理 6 關閉迴圈 7 關閉游標 可以簡單的把這一類 稱為游標用於迴圈。但還有一種迴圈與這種型別不相同,這就是for迴圈,用於for迴圈的游標按照正常的宣告方式宣...