14周学习总结

军训期间没什么时间,链表还不会。先总结下指针。

1.指针赋值规范

 

 

 

 

指针p指向数组a[10];

*p=a;

2.**p;***p

 

 

 

 

 

#include<stdio.h>;
int main()
{
    int a=9;
    int *p;
    int **q;
    int ***q1;
    p=&a;
    q=&p;
    q1=&q;
    printf("%d  %d\n",p,*p);
    printf("%d %d %d\n",q,*q,**q); 
    printf("%d %d %d",*q1,**q1,***q1);
 } 

q为p的地址,为a的地址的地址;

*q为p的值,为a的地址;

**q为*p的值,为a的值;

层层递进。

 

3.指针数组*p[10]中元素全为指针;

4.int a[10];普通数组所存储的元素是地址;

5.*p++ :取出p所指的那个数据,完事后把p移到下一位置。

6.地址和地址之间不能用‘==’

7.不能通过指针作赋值,修改

8.*p[10]侧重于数组;(*p)[10]侧重于指针;

9.在不确定要内存多大,不想浪费空间的,申请内存;

  (类型*)malloc(sizeof(类型)*(strlen(str)+1)

 申请完要free 内存单元

10.不能返回在函数内部定义的自动变量的地址

 

 

暂时先这样,睡了。

 

posted @ 2021-12-13 00:10  MIKI`(宋曼琦)  阅读(29)  评论(0编辑  收藏  举报