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 Primer Plus》是C语言学习的经典教材,其第十章主要讲解了数组和指针这两个核心概念。在C语言中,数组和指针密切相关,它们是理解和掌握C语言底层机制的关键。本压缩包中的资源提供了该章的课后习题代码实现,为...
### 指针的核心概念与应用 #### 一、引言 指针是C语言中极为重要的一个概念,它不仅体现了C语言的强大功能,更是学习和掌握C语言的关键所在。然而,指针因其复杂的特性和非直观的操作方式,常常成为初学者难以跨越...
在"第十章:指针_C语言与数据结构PPT10_"中,我们将会深入探讨这一主题,这是东北石油大学物理与电子工程学院C语言与数据结构课程的一部分。 首先,指针是一个变量,其值为内存地址,即存储其他变量的地址。在C语言...
C 程序设计:第十章 指针.ppt
C语言中的指针一章的介绍与功能操作,轻松自学指针,透彻理解。
本章“指针”深入讲解了这一核心主题。 首先,我们要理解“地址和指针的概念”。在计算机内存中,每个数据都有一个唯一的地址,比如变量`i`和`k`在内存中的位置(如2000和2001)。指针就是存储这些地址的变量,它...
### C Primer Plus第十章编程练习知识点解析 #### 练习一:二维数组处理与降雨量统计 本练习涉及的关键概念包括二维数组、指针、循环结构等。 **代码解析** 1. **预处理指令与宏定义**:首先,程序通过`#include...
在第十章“指针”中,我们将深入理解地址和指针的概念,以及如何在C语言中使用指针变量。 首先,我们需要明白地址和指针的区别。地址是内存中每个存储单元的唯一标识,通过地址可以找到对应的内存单元。指针则是...
在谭浩强的经典C语言教程中,第十章详细讲解了指针的相关知识,包括地址和指针的概念、指针变量的定义和引用、指针与数组的交互以及指针与字符串的使用。 首先,理解地址和指针的概念至关重要。在计算机内存中,每...