散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

时间:2022-05-05 04:02:12
指针与数组及其对应的汇编内存地址
课程目标:了解指针与数组对应的汇编内存地址。
课程内容:
 通过一维数组实例了解指针与数组对应的汇编内存地址。
 通过二维数组实例了解指针与数组对应的汇编内存地址。
http://edu.csdn.net/huiyiCourse/detail/134
1darray.cpp:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <typeinfo.h>
int main() {
    int sa[4];
    int *db;
    int k;

    for (k=0;k<4;k++) {
        sa[k]=k;
    }

    for (k=0;k<4;k++) {
        printf(" %3d",sa[k]);
    }
    printf("\n");

    printf("typeid(sa      ).name() is %s\n",typeid(sa      ).name());
    printf("\n");

    db=(int *)malloc(4*sizeof(int));
    if (NULL==db) return 1;
    for (k=0;k<4;k++) {
        db[k]=k;
    }

    for (k=0;k<4;k++) {
        printf(" %3d",db[k]);
    }
    printf("\n");

    printf("typeid(db      ).name() is %s\n",typeid(db      ).name());
    printf("\n");

    free(db);

    return 0;
}
//   0   1   2   3
//typeid(sa      ).name() is int [4]
//
//   0   1   2   3
//typeid(db      ).name() is int *
//
//

2darray.cpp:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <typeinfo.h>
int main() {
    int sa[3][4];
    int **db;
    int j,k;

    for (j=0;j<3;j++) {
        for (k=0;k<4;k++) {
            sa[j][k]=j*10+k;
        }
    }

    for (j=0;j<3;j++) {
        for (k=0;k<4;k++) {
            printf(" %3d",sa[j][k]);
        }
        printf("\n");
    }

    printf("typeid(sa[0]   ).name() is %s\n",typeid(sa[0]   ).name());
    printf("typeid(sa      ).name() is %s\n",typeid(sa      ).name());
    printf("\n");

    db=(int **)malloc(3*sizeof(int *));
    if (NULL==db) return 1;
    for (j=0;j<3;j++) {
        db[j]=(int *)malloc(4*sizeof(int));
        if (NULL==db[j]) return 1;
    }
    for (j=0;j<3;j++) {
        for (k=0;k<4;k++) {
            db[j][k]=j*10+k;
        }
    }

    for (j=0;j<3;j++) {
        for (k=0;k<4;k++) {
            printf(" %3d",db[j][k]);
        }
        printf("\n");
    }

    printf("typeid(db[0]   ).name() is %s\n",typeid(db[0]   ).name());
    printf("typeid(db      ).name() is %s\n",typeid(db      ).name());
    printf("\n");

    for (j=0;j<3;j++) {
        free(db[j]);
    }
    free(db);

    return 0;
}
//   0   1   2   3
//  10  11  12  13
//  20  21  22  23
//typeid(sa[0]   ).name() is int [4]
//typeid(sa      ).name() is int [3][4]
//
//   0   1   2   3
//  10  11  12  13
//  20  21  22  23
//typeid(db[0]   ).name() is int *
//typeid(db      ).name() is int * *
//
//


课程内容:
 通过三维数组实例了解指针与数组对应的汇编内存地址。
http://edu.csdn.net/huiyiCourse/detail/135
3darray.cpp:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <typeinfo.h>
int main() {
    int sa[2][3][4];
    int ***db;
    int i,j,k;

    for (i=0;i<2;i++) {
        for (j=0;j<3;j++) {
            for (k=0;k<4;k++) {
                sa[i][j][k]=i*100+j*10+k;
            }
        }
    }

    for (i=0;i<2;i++) {
        for (j=0;j<3;j++) {
            for (k=0;k<4;k++) {
                printf(" %3d",sa[i][j][k]);
            }
            printf("\n");
        }
        printf("----------------\n");
    }

    printf("typeid(sa[0][0]).name() is %s\n",typeid(sa[0][0]).name());
    printf("typeid(sa[0]   ).name() is %s\n",typeid(sa[0]   ).name());
    printf("typeid(sa      ).name() is %s\n",typeid(sa      ).name());
    printf("\n");

    db=(int ***)malloc(2*sizeof(int **));
    if (NULL==db) return 1;
    for (i=0;i<2;i++) {
        db[i]=(int **)malloc(3*sizeof(int *));
        if (NULL==db[i]) return 1;
        for (j=0;j<3;j++) {
            db[i][j]=(int *)malloc(4*sizeof(int));
            if (NULL==db[i][j]) return 1;
        }
    }
    for (i=0;i<2;i++) {
        for (j=0;j<3;j++) {
            for (k=0;k<4;k++) {
                db[i][j][k]=i*100+j*10+k;
            }
        }
    }

    for (i=0;i<2;i++) {
        for (j=0;j<3;j++) {
            for (k=0;k<4;k++) {
                printf(" %3d",db[i][j][k]);
            }
            printf("\n");
        }
        printf("----------------\n");
    }

    printf("typeid(db[0][0]).name() is %s\n",typeid(db[0][0]).name());
    printf("typeid(db[0]   ).name() is %s\n",typeid(db[0]   ).name());
    printf("typeid(db      ).name() is %s\n",typeid(db      ).name());
    printf("\n");

    for (i=0;i<2;i++) {
        for (j=0;j<3;j++) {
            free(db[i][j]);
        }
        free(db[i]);
    }
    free(db);

    return 0;
}
//   0   1   2   3
//  10  11  12  13
//  20  21  22  23
//----------------
// 100 101 102 103
// 110 111 112 113
// 120 121 122 123
//----------------
//typeid(sa[0][0]).name() is int [4]
//typeid(sa[0]   ).name() is int [3][4]
//typeid(sa      ).name() is int [2][3][4]
//
//   0   1   2   3
//  10  11  12  13
//  20  21  22  23
//----------------
// 100 101 102 103
// 110 111 112 113
// 120 121 122 123
//----------------
//typeid(db[0][0]).name() is int *
//typeid(db[0]   ).name() is int * *
//typeid(db      ).name() is int * * *
//
//

59 个解决方案

#1


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#2


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#3


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课谢谢版主大大们推荐!Orz

#4


猛戳这里可以提前下载课程对应的PPT:
http://bbs.csdn.net/topics/391964266

#5


支持 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#6


再多发点啊,支持

#7


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#8


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#9


点个赞,冒个泡。哈哈

散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课


#10


赵老师威武,支持 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#11


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#12


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#13


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#14


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#15


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#16


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#17


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#18


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#19


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#20


回帖就有分拿?????

#21


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#22


又开课了呀,不再回复存表情

#23


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#24


抽空得学下汇编

#25


引用 24 楼 laocui172 的回复:
抽空得学下汇编

计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……

#26


老赵这是要当职业段子手...

#27


来晚了,还有分吗?

#28


引用 27 楼 shingoscar 的回复:
来晚了,还有分吗?

没晚。计划最早6月29日结帖给分。

#29


赵中老师,我一度认为您老人家是csdn的智能计算机,每次都是简简单单一句话,没想到您老人家是真实存在的 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#30


引用 29 楼 zhangchenchen2014 的回复:
赵中老师,我一度认为您老人家是csdn的智能计算机,每次都是简简单单一句话,没想到您老人家是真实存在的 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

如果我真是csdn的智能计算机,那岂不是比微软的小冰还冰雪聪明,比谷歌的阿尔法狗还α? 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#31


头一次得到赵老师回帖,心里那个激动啊,看来老师不仅兼具智慧还隐藏着深厚的幽默风趣 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#32


引用 31 楼 zhangchenchen2014 的回复:
头一次得到赵老师回帖,心里那个激动啊,看来老师不仅兼具智慧还隐藏着深厚的幽默风趣 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

本ID一向如此,还外加脸厚心黑。 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#33


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#34


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#35


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#36


http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/5.gif

#37


还能报名吗?

#38


坚决支持 尼古拉斯·赵四 老师!!!

回帖是个好习惯 ^_^ 

#39


好久没有写过C的代码了。 学习了。

#40


用C 渐渐地少 了,参与一下

#41


赵老师的课坚决支持,赵老师,我爱你!!

#42


引用 41 楼 xigua1102 的回复:
赵老师的课坚决支持,赵老师,我爱你!!

在CSDN是禁止搞基的。 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#43


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课支持赵老师.

#44


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#45


感快报名啊米娜桑

#46


点个赞 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#47


支持赵老师!

#48


引用 47 楼 liuyiqi5145 的回复:
支持赵老师!

来自00:20:27的支持我是应该感动还是应该悲哀呢?
散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课 or  散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#49


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#50


学习 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#1


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#2


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#3


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课谢谢版主大大们推荐!Orz

#4


猛戳这里可以提前下载课程对应的PPT:
http://bbs.csdn.net/topics/391964266

#5


支持 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#6


再多发点啊,支持

#7


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#8


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#9


点个赞,冒个泡。哈哈

散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课


#10


赵老师威武,支持 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#11


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#12


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#13


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#14


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#15


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#16


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#17


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#18


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#19


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#20


回帖就有分拿?????

#21


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#22


又开课了呀,不再回复存表情

#23


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#24


抽空得学下汇编

#25


引用 24 楼 laocui172 的回复:
抽空得学下汇编

计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……

#26


老赵这是要当职业段子手...

#27


来晚了,还有分吗?

#28


引用 27 楼 shingoscar 的回复:
来晚了,还有分吗?

没晚。计划最早6月29日结帖给分。

#29


赵中老师,我一度认为您老人家是csdn的智能计算机,每次都是简简单单一句话,没想到您老人家是真实存在的 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#30


引用 29 楼 zhangchenchen2014 的回复:
赵中老师,我一度认为您老人家是csdn的智能计算机,每次都是简简单单一句话,没想到您老人家是真实存在的 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

如果我真是csdn的智能计算机,那岂不是比微软的小冰还冰雪聪明,比谷歌的阿尔法狗还α? 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#31


头一次得到赵老师回帖,心里那个激动啊,看来老师不仅兼具智慧还隐藏着深厚的幽默风趣 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#32


引用 31 楼 zhangchenchen2014 的回复:
头一次得到赵老师回帖,心里那个激动啊,看来老师不仅兼具智慧还隐藏着深厚的幽默风趣 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

本ID一向如此,还外加脸厚心黑。 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#33


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#34


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#35


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#36


http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/5.gif

#37


还能报名吗?

#38


坚决支持 尼古拉斯·赵四 老师!!!

回帖是个好习惯 ^_^ 

#39


好久没有写过C的代码了。 学习了。

#40


用C 渐渐地少 了,参与一下

#41


赵老师的课坚决支持,赵老师,我爱你!!

#42


引用 41 楼 xigua1102 的回复:
赵老师的课坚决支持,赵老师,我爱你!!

在CSDN是禁止搞基的。 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#43


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课支持赵老师.

#44


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#45


感快报名啊米娜桑

#46


点个赞 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#47


支持赵老师!

#48


引用 47 楼 liuyiqi5145 的回复:
支持赵老师!

来自00:20:27的支持我是应该感动还是应该悲哀呢?
散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课 or  散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#49


散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课

#50


学习 散分+快来报名“C语言指针与汇编内存地址(三、四)”公开课