200815-C指针高级和链表
生活随笔
收集整理的這篇文章主要介紹了
200815-C指针高级和链表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 一、學習的知識點
- 作業
- 指針
- 鏈表
- 二、上課沒有聽懂或者沒有理解的地方
- 三、當天學習的收獲
- 四、作業的思路、不會的地方
- 五、其他需要反饋的問題
- 六、心得體會
一、學習的知識點
作業
指針
//指針的指針:保存指針變量的地址,本質還是指針,通常用在指針數組作為函數參數的時候 char name[20]="admin"; char *ptemp="hello"; // char *pstr=name; char **pts; //占用4字節空間,指針數組char *p[10];在形參中用指針的指針表示 pts=&pstr;//結構體指針,保存結構體的地址。結構體變量作為函數參數的時候,可以使用結構體指針 typedef struct staff {char name[20];char pwd[10];int id;int role; //0-管理員 1-服務員 2-經理}STAFF_T;STAFF_T user[3]={{"admin","123456",100113,0},{"waiter","123456",100114,1}, {"manager","123456",100115,2}}; STAFF_T *puser=NULL; int i; puser=user; //指向結構體數組 printf("%s\n",(puser+1)->name);//函數指針:本質還是指針,指向函數的指針,存放的是函數的地址 int sum(int a,int b); //函數聲明 int (*pfun)(int c,int d)=sum;//函數指針的定義 pfun(4,5); //函數調用 void (*Init[3])={adminInit,managerInit,waiterInit};//無類型指針可以接收任意類型的指針變量,但是任意類型指針不能直接保存無類型指針,必須進行強制類型轉換const int *pst=&a; //const 修飾指針變量的值(即地址)是可以修改的,但是指針指向地址的內容是不能修改的 int *const pst //pst的指針不能改,(pp=&i;語句錯誤),但指針指向地址的內容是可以修改的 //const右側是內容,則內容不能改,右側是指針,則指針不能改。鏈表
malloc()函數;stdlib.h,允許從空閑內存池中分配內存。函數原型:void *malloc(size_t bytes);size_t byte:要申請的字節數。返回值:成功時返回內存段首地址,否則返回NULL
內存初始化函數:void *memset( void *buffer, char ch, size_t n);string.h參數:buffer是需要設置的內存的開始地址;ch是期望填充的值; n是需要填充的字節數。返回值:成功時返回buffer的首地址,否則返回NULL
free()函數:void free(void *p) p必需是通過malloc、calloc或realloc分配的指針(首地址)
calloc()函數: 存儲在已分配的內存空間中的值默認為零。函數原型: void *calloc(size_t num,size_t bytes );size_t num 要分配內存單元的個數。size_t bytes 每個內存單元的字節大小。返回值: 成功時返回內存段首地址,否則返回NULL
二、上課沒有聽懂或者沒有理解的地方
無
三、當天學習的收獲
學習了新技能 鏈表
四、作業的思路、不會的地方
還未開始
五、其他需要反饋的問題
無
六、心得體會
關于結點的連接思路還有點陌生,還要捋捋。
總結
以上是生活随笔為你收集整理的200815-C指针高级和链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 200813_C指针
- 下一篇: 200818C链表的查询插入删除