`
kmplayer
  • 浏览: 508921 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

第十章 再论指针

阅读更多
1,数组char a[4][6];
访问元素a[i][j];
编译器符号列表中,a的地址9980
(1)取i的值,乘以行宽row,加到9980上. 9980+i*row;
(2)取j的值,乘以元素factor的宽度,9980+i*row+j*factor;
(3)从地址(9980+i*row+j*factor)中取出内容.

2,数组char* a6];
访问元素a[i][j];
编译器符号列表中,a的地址9980
(1)取i的值,乘以4,加到9980上. 9980+i*4;
(2)取j的值,乘以元素factor的宽度,9980+i*4+j*factor;
(3)从地址(9980+i*4+j*factor)中取出内容.

3,使用指针从函数返回一个数组.

实例代码:
#include <stdio.h>
#include <malloc.h>

int( *getPF() )[20]
{
    int (*p)[20];
    p=calloc(20,sizeof(int));
    return p;
}

int main()
{
    int (*p)[20];
    p=getPF();
    printf("%d\n",*(*p+2));
	return 0;
}


4,动态分配
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

int current_element=0;
int total_element=32;
char* dynamic;;

void add_element(char c)
{
    if(current_element==total_element-1)
    {
        total_element*=2;
        dynamic=(char*)realloc(dynamic,total_element);
        if(dynamic==NULL)
            printf("Couldn't expand the table.\n");
    }
    current_element++;
    dynamic[current_element]=c;
}

int main()
{
    int i;
    dynamic=(char*)malloc(total_element);
    for(i=1;i<128;i++)
        add_element(i);
    for(i=1;i<128;i++)
        printf("%c ",dynamic[i]);
    free(dynamic);
	return 0;
}
分享到:
评论

相关推荐

    C语言再再论指针修订版

    ### C语言再再论指针修订版 #### 指针——C/C++的灵魂 《C语言再再论指针修订版》这篇文章是作者对于2005年所作《再再论指针》的更新版本,旨在进一步深化读者对于C/C++中指针的理解。在修订版中,作者主要从以下...

    再再论指针 再再论指针

    在《再再论指针》这一篇章中,作者着重强调了数组名与指针之间的本质区别,纠正了一些常见的错误观念。 首先,我们要明确,数组名并不等同于指针。数组名实际上是一个常量地址,它表示的是数组在内存中起始位置的...

    C语言课件第十章-指针完整版资料.ppt

    C语言课件第十章-指针完整版资料.ppt 本资源是C语言课件第十章的完整版资料,涵盖了指针的概念、指针变量、指针的赋值和引用等知识点。下面是对这些知识点的详细解释: 一、地址和指针的概念 在计算机中,每个...

    (转)再再论指针

    【再再论指针】这篇文章主要探讨了C语言中指针这一核心概念,以及与之相关的数组和地址的区分。作者强调,指针是C语言高效编程的关键,但其复杂性常常导致程序员对其理解不足,甚至产生恐惧。文章旨在帮助已有一定...

    C语言-再再论指针

    ### C语言-再再论指针 #### 一、引言 在《C语言-再再论指针》这篇深入探讨指针的文章中,作者强调了指针在C语言中的核心地位及其对于编写高效代码的重要性。同时,文章也指出了理解和使用指针时常见的难点,特别是...

    再再论指针

    ### 指针的核心概念与应用 #### 一、什么是数组名?——揭开惊人的真相! 数组是学习指针的基础,大多数程序员都是从数组开始接触指针这一概念的。但在日常编程实践中,对于数组名的理解常常存在误区。很多人认为...

    C语言书籍<<C primer plus>>第十章数组与指针课后习题代码参考(自制)

    《C Primer Plus》是C语言学习的经典教材,其第十章主要讲解了数组和指针这两个核心概念。在C语言中,数组和指针密切相关,它们是理解和掌握C语言底层机制的关键。本压缩包中的资源提供了该章的课后习题代码实现,为...

    再再论指针 pdf格式 电子书 下载

    ### 指针的核心概念与应用 #### 一、引言 指针是C语言中极为重要的一个概念,它不仅体现了C语言的强大功能,更是学习和掌握C语言的关键所在。然而,指针因其复杂的特性和非直观的操作方式,常常成为初学者难以跨越...

    第十章:指针_C语言与数据结构PPT10_

    在"第十章:指针_C语言与数据结构PPT10_"中,我们将会深入探讨这一主题,这是东北石油大学物理与电子工程学院C语言与数据结构课程的一部分。 首先,指针是一个变量,其值为内存地址,即存储其他变量的地址。在C语言...

    C 程序设计:第十章 指针.ppt

    C 程序设计:第十章 指针.ppt

    第十章 指针.doc

    C语言中的指针一章的介绍与功能操作,轻松自学指针,透彻理解。

    C语言第十章指针课件

    本章“指针”深入讲解了这一核心主题。 首先,我们要理解“地址和指针的概念”。在计算机内存中,每个数据都有一个唯一的地址,比如变量`i`和`k`在内存中的位置(如2000和2001)。指针就是存储这些地址的变量,它...

    C Primer Plus第十章 编程练习答案

    ### C Primer Plus第十章编程练习知识点解析 #### 练习一:二维数组处理与降雨量统计 本练习涉及的关键概念包括二维数组、指针、循环结构等。 **代码解析** 1. **预处理指令与宏定义**:首先,程序通过`#include...

    C语言程序设计教案第十章指针.doc

    在第十章“指针”中,我们将深入理解地址和指针的概念,以及如何在C语言中使用指针变量。 首先,我们需要明白地址和指针的区别。地址是内存中每个存储单元的唯一标识,通过地址可以找到对应的内存单元。指针则是...

    经典C语言谭浩强版第十章 指针(“变量”文档)共59张.pptx

    在谭浩强的经典C语言教程中,第十章详细讲解了指针的相关知识,包括地址和指针的概念、指针变量的定义和引用、指针与数组的交互以及指针与字符串的使用。 首先,理解地址和指针的概念至关重要。在计算机内存中,每...

Global site tag (gtag.js) - Google Analytics