第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

【學習打卡】第12天 物聯網/嵌入式工程師 第二周

標簽:
C

课程名称: 物联网/嵌入式工程师

课程章节: 第二周 计算机基础和C语言

主讲老师: 大白老师

课程内容:

今天主要学习了多级指针的使用

课程收获:

多级指针就是指针的指针…,实际上也没那么复杂,比较简单。
以常用的二级指针为例
二级指针类型实际上是(一级)指针变量的地址。
以二级指针为例:

定义方式 如下:
数据类型  ** 变量名;

int a = 10;
int *p = &a;  

int **q = &p;  
---------------------------------------------
p = &a;   //*p = *(&a)   *p <===> a

q = &p;         //*q = *(&p) ===>  *q = p;  **q <===> *p<===>a

在32bit的系统中,所有的指针变量都是4bytes,多级指针(二级和二级以上)在移动的每次移动都是4bytes. 因为一个指针大小是4bytes。

   int *p = NULL;

        char **p_char = (char **)&p;
        short **p_short = (short **)&p;
        int **p_int = (int **)&p;

        printf("sizeof(p_char) = %d\n",sizeof(p_char));
       printf("sizeof(p_short) = %d\n",sizeof(p_short));
        printf("sizeof(p_int) = %d\n",sizeof(p_int));
        return 0;
------------------------------------------------、
结果:sizeof(p_char) = 4
sizeof(p_short) = 4
sizeof(p_int) = 4




下面说一下数组:

int  a[5] = {10,20,30,40,50};
int *p = a;
int **q = &p;     //q <===>&p    *q <===>*(&p)    *q<===>p

而根据一维数组得出结论:
a[i] <===>*(a + i)<===>*(p + i)<===>p[i]

且  *q<===>p,故

*(p + i)<===>p[i]<===>*(*q + i) <===>(*q)[i]

其实理解了之前一级指针的本质,二级也不算难。都是同样的。



//   int a[5];
//   int *p = a;
//   int **q = &p;   //q = &p    *q<===>*(&p)<====>p
//结论: a[i]<===>*(a + i)<===>*(p + i)<===>p[i]<====>*(*q + i)<===>(*q)[i]
//   
int main()
{
        int a[5] = {10,11,12,13,14};
        int *p = a;
        int **q = &p;   //q = &p;  *q<===>*(&p)<===>p

        //a[3] = 13
        printf("a[3] = %d\n",a[3]);
        printf("*(a + 3) = %d\n",*(a + 3));
        printf("*(p + 3) = %d\n",*(p + 3));
        printf("p[3] = %d\n",p[3]);

        printf("==========================\n");
        //a[3]
        printf("*(*q + 3) = %d\n",*(*q + 3));
        printf("(*q)[3] = %d\n",(*q)[3]);
————————————————————————————————————————————
结果:a[3] = 13
*(a + 3) = 13
*(p + 3) = 13
p[3] = 13
==========================
*(*q + 3) = 13
(*q)[3] = 13


就是这样


课后作业
图片描述
答案:

p=a;
q=&p;
 for(i=0;i<5;i++)
 {
	printf("%d\n",p[i]);
	printf("%d\n",*q[i]);
}

每日一句:

去接受一些你不了解的东西,去争取,去相信自己可以改变一些事情。
——《一个人的朝经》

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
  • 推薦
  • 1
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消