小總結: 什麼型別的指標,就是這個指標指向什麼型別的變數
結構體指標: 就是指向結構體變數的指標
結構體的首位址,就是結構體第乙個成員變數的首位址
stu *p = null;
stu s1 = ;
p = &s1;
printf(「%p\n」,p);
printf( 「%p\n」,&s1 );
printf( 「%p\n」,&s1.name); // 列印的結果相同,都是首位址
printf(「%s\n」,s1.name); // lizongrui
// *p1 等價於 s1
int *p1 = null
int a= 20;
p1 = &a; // 此時,*p1等價於 a
printf(「%d\n」,(*p).age);
// 指向操作符 ->
// -> 前面只能是結構體指標變數,而且必須是指向結構體變數首位址的結構體變數
printf( %d\n」,p->name);
//練習: 1.定義乙個老師結構體
//2.建立結構體變數
//3.建立結構體指標指向結構體變數
//4.判斷如果老師名字的首字元不是大寫,改為大寫,並且將其年齡+10歲;如果首字元是大寫,年齡-10;
/* teacher teacher1 = ;
teacher *t = &teacher1;
if (t->name[0] >= 『a』 && t->name[0] <=』z』 )
else
printf("%s %d %s\n",t->name,t->age,t->hobby);
結構體陣列和指標:
student stu[5] = ,,,
,};陣列名就是指標,指向陣列的首位址,也是陣列首個元素的位址
*stu 等價於 stu[0]
*(stu+1) 等價於 stu[1]
··· ···
訪問陣列中的元素的姓名成員變數
(*stu).name = stu[0].name
( (*stu+1) ).name = stu[1].name
··· ···
使用指標操作符 -> 來訪問陣列中元素
stu-> name = stu[0].name
( stu+1)->name = stu[1].name
( stu+2 )->name = stu [2].name
··· ···
printf( (stu+3)->name,」ajiao」);
printf(「%s\n」,(stu+3)->name);
// 定義乙個指向結構體陣列
student *p1 = stu;
printf(「%s\n」,p1[0].name);
printf(「%s\n」,p1->name);
printf(「%s\n」,(*p1).name); // 輸出結果相同
指標陣列 陣列中的元素都是指標(位址)
int a = 3,b = 4,c = 5,d = 6;
int p1 = &a;// &a 的型別就是 int
int array[4] = ; // 由於陣列中每個元素的型別都是int ,所以陣列的型別也應是int *
printf(「陣列所佔記憶體大小:%lu\n」,sizeof(array));
//訪問陣列中的元素
// 方式一
printf(「%p\n」,array[0]); //由於陣列中的元素位址,所以使用%p.
printf(「%p\n」,&a);
printf(「%p\n」,array[1]);
// 方式二
printf(「%p\n」,*array);
printf(「%p\n」,*(array+1));
// 訪問指標陣列中元素指向記憶體空間裡儲存的值
printf("%d\t",*array[0]);
printf("%d\t",*array[2]);
printf("%d\t",*array[3]);
printf("%d\n",*array[1]);
printf("%d\t",*(*array)); // *array 取出的是位址 **array 才是取出位址所指向的值
printf("%d\t",**(array+1));
結構體指標中包含結構體指標
將c 轉化為c的過程中,一些c 的特性無法使用 類內私有變數在類內公共函式中使用,轉化為c的時候選擇用malloc的方式,申請一段記憶體空間去儲存它,在函式中傳指標形參去操作這些變數。這時候遇到乙個問題,結構體中包含了另乙個結構體的指標,這導致了我malloc的時候,另乙個結構體中的記憶體空間沒有申...
結構體指標
定義結構體 typedef struct str stu t 建立結構體指標,存放某乙個結構體變數的首位址 stu t p2stu null 重新命名結構體指標名 typedef將使得原來申明的結構體變數成為資料型別 typedef stu t p2stu t 建立結構體指標,存放某乙個結構體變數的...
結構體指標
指向結構體型別變數的使用 首先讓我們定義結構體 struct stu 再定義指向結構體型別變數的指標變數 struct stu p1,p2 定義指標變數p 1 p 2,分別指向結構體型別變數。引用形式為 指標變數 成員 例7 2 對指向結構體型別變數的正確使用。輸入乙個結構體型別變數的成員,並輸出。...