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语言再再论指针修订版》这篇文章是作者对于2005年所作《再再论指针》的更新版本,旨在进一步深化读者对于C/C++中指针的理解。在修订版中,作者主要从以下...
在《再再论指针》这一篇章中,作者着重强调了数组名与指针之间的本质区别,纠正了一些常见的错误观念。 首先,我们要明确,数组名并不等同于指针。数组名实际上是一个常量地址,它表示的是数组在内存中起始位置的...
C语言课件第十章-指针完整版资料.ppt 本资源是C语言课件第十章的完整版资料,涵盖了指针的概念、指针变量、指针的赋值和引用等知识点。下面是对这些知识点的详细解释: 一、地址和指针的概念 在计算机中,每个...
【再再论指针】这篇文章主要探讨了C语言中指针这一核心概念,以及与之相关的数组和地址的区分。作者强调,指针是C语言高效编程的关键,但其复杂性常常导致程序员对其理解不足,甚至产生恐惧。文章旨在帮助已有一定...
### C语言-再再论指针 #### 一、引言 在《C语言-再再论指针》这篇深入探讨指针的文章中,作者强调了指针在C语言中的核心地位及其对于编写高效代码的重要性。同时,文章也指出了理解和使用指针时常见的难点,特别是...
第十章:指针-上 例程代码 配套使用 供参考
### C语言之再再论指针(深入讲解指针) #### 指针的重要性与挑战 C语言作为一种高效且功能强大的编程语言,其核心之一便是指针的应用。指针不仅能够让程序员更灵活地操作内存,还能提高程序的执行效率。然而,...
### 指针的核心概念与应用 #### 一、什么是数组名?——揭开惊人的真相! 数组是学习指针的基础,大多数程序员都是从数组开始接触指针这一概念的。但在日常编程实践中,对于数组名的理解常常存在误区。很多人认为...
《再再论指针》修订版是一份深入探讨C/C++编程语言中指针使用的文档,旨在为那些已经具备一定C/C++基础的学习者提供更为精确和深入的知识点。这份修订版不仅更新了原有的内容,还引入了新的观点和示例,尤其是在C++...
第十章"指针"详细讲解了指针的基本概念、使用方法以及在程序设计中的应用。 首先,我们需要理解地址和指针的基本概念。在计算机中,每个数据在内存中都有一个唯一的地址,这个地址就像旅馆房间号码一样,用来标识...
《C Primer Plus》是C语言学习的经典教材,其第十章主要讲解了数组和指针这两个核心概念。在C语言中,数组和指针密切相关,它们是理解和掌握C语言底层机制的关键。本压缩包中的资源提供了该章的课后习题代码实现,为...
### 指针的核心概念与应用 #### 一、引言 指针是C语言中极为重要的一个概念,它不仅体现了C语言的强大功能,更是学习和掌握C语言的关键所在。然而,指针因其复杂的特性和非直观的操作方式,常常成为初学者难以跨越...
在"第十章:指针_C语言与数据结构PPT10_"中,我们将会深入探讨这一主题,这是东北石油大学物理与电子工程学院C语言与数据结构课程的一部分。 首先,指针是一个变量,其值为内存地址,即存储其他变量的地址。在C语言...
C 程序设计:第十章 指针.ppt
第十章可能会涉及动态内存分配(如`malloc()`和`free()`函数),以及如何通过指针进行数组、结构体等复杂数据类型的内存管理。 2. **文件操作**:C语言提供了丰富的文件操作接口,如`fopen()`, `fclose()`, `fread...
C语言中的指针一章的介绍与功能操作,轻松自学指针,透彻理解。
本章“指针”深入讲解了这一核心主题。 首先,我们要理解“地址和指针的概念”。在计算机内存中,每个数据都有一个唯一的地址,比如变量`i`和`k`在内存中的位置(如2000和2001)。指针就是存储这些地址的变量,它...
### C Primer Plus第十章编程练习知识点解析 #### 练习一:二维数组处理与降雨量统计 本练习涉及的关键概念包括二维数组、指针、循环结构等。 **代码解析** 1. **预处理指令与宏定义**:首先,程序通过`#include...
计算机系统概论(原书第二版)习题答案第十章 计算机系统概论是计算机科学的基础课程之一,本章节主要介绍了计算机系统的基本概念和原理。下面是根据给定的文件信息生成的相关知识点: 一、栈的定义和特点 * 栈...