1.指针与++操作
#include <stdio.h>
int main(){
int a[] = {1,11,111,1111};
int *p = &a[0], *p1 = &a[2];
printf("p=%d\n",*++p);
printf("p1=%d\n",*p1++);
printf("p1=%d\n",*p1);
int temp = ++(*p);
temp = (*p)++;
int temp1 = *p;
printf("temp=%d\n",temp);
printf("temp1=%d\n",temp1);
}
结果:
p=11
p1=111
p1=1111
temp=12
temp1=13
2.数组指针(用来表示数组的指针。一维数组比较简单,这里以二维数组为例)
#include<stdio.h>
int main(){
int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
int (*p)[4] = a;//表示每个指针长度为 int[4]的指针
int i,j,sum = 0;
for(i=0;i<3;i++){
for(j=0;j<4;j++){
sum += *(*(p+i)+j);
}
}
printf("sum is:%d\n",sum);
}
结果:
sum is:78
3.指针数组(用来存储指针的数组)
#include<stdio.h>
int main(){
int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
int *p[3];//表示长度为3的数组,数组元素是指针
int i,j,sum=0;
for(i=0;i<3;i++){
p[i] = a[i];
}
for(i=0;i<3;i++){
for(j=0;j<4;j++){
sum += *(p[i] + j);
}
}
printf("sum is:%d\n",sum);
}
结果:
sum is:78
4.指针的指针(多级指针)
#include<stdio.h>
int main(){
int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
int *q[3] = {a[0],a[1],a[2]};
int **p = &q[0];//指针的指针,*p指向的都是指针。
int i,j,sum = 0;
for(i=0;i<3;i++){
for(j=0;j<4;j++){
sum += *(*(p+i)+j);
}
}
printf("sum is:%d\n",sum);
}
结果:
sum is:78
5. 函数指针
函数指针的声明形式如: 数据类型 (*函数指针名)()
#include<stdio.h>
#include<string.h>
void check(char *, char *, int (*p)());
int main(){
char *a = "hello", *b = "hello", *c = "world";
int (*cmp)() = strcmp;
check(a,b,cmp);
check(a,c,cmp);
}
void check(char *a, char *b, int (*cmp)()){
if(!cmp(a,b)){
printf("%s equals %s\n",a,b);
}else{
printf("%s does not equal %s\n",a,b);
}
}
结果:
hello equals hello
hello does not equal world
6. const和指针的混合使用
const 数据类型符 *指针变量名(指向的内容是常量)
int a=10, b=10;
const int *pa = &a;
pa = &b;//可以
*pa = b;//不可以
数据类型符 *const 指针变量名(指针是常量)
int a=10, b=10;
int *const pa = &a;
pa = &b;//不可以
*pa = b;//可以
const 数据类型符 *const 指针变量名(指针和指向的内容都是常量)
int a=10, b=10;
const int *const pa = &a;
pa = &b;//不可以
*pa = b;//不可以
分享到:
相关推荐
### C语言中指针的理解与应用 #### 一、引言 指针是C语言中一个非常重要的概念,也是很多初学者感到困惑的部分。本文旨在深入解析C语言中指针的相关概念及其应用方法,帮助读者更好地理解和掌握指针。文章首先会...
C语言中指针、数组和函数的综合应用与实例解析 本文对C语言中指针、数组和函数的概念、运算和应用进行了详细的探讨和分析。指针是C语言的重要特色,是一种特殊的数据类型,通过存储空间的地址或编号来访问数据。...
### C语言中指针的知识点 #### 一、引言 C语言作为一种高效且功能强大的编程语言,在系统级编程和底层开发中具有不可替代的地位。其中,指针是C语言中一个非常重要的特性,它允许程序员直接操作内存,极大地提高了...
### 单片机C语言中指针的应用 #### 一、引言 单片机作为嵌入式系统的核心部件,在工业控制、智能家居等领域发挥着重要作用。C语言因其强大的功能和良好的移植性,成为了单片机编程的主要语言之一。在单片机C语言...
在C语言中,指针是理解程序运行机制和优化代码的关键概念之一。通过掌握指针,程序员能够更灵活地操作内存、实现复杂的数据结构,并提高程序的效率。下面,我们将深入探讨C语言中的指针概念及其应用。 ### 基础指针...
指针是C语言中一个重要的概念,它playing a crucial role in C language program design。指针的使用可以使程序简洁、明快,大大提高程序的灵活性和运行速度。但是,指针的使用也需要非常小心,因为指针太过灵活,...
C语言中指针的应用 C语言中指针的应用是一个非常重要的概念,它在编程中扮演着核心角色。指针的应用可以分为三种:指针函数、函数指针和指针的指针。 一、指针函数 指针函数是指返回值为指针的函数。这种函数的...
"C语言中指针变量的教学探讨" 本文围绕C语言中指针变量的教学探讨,对学生形成程序设计思想意义重大。指针是C语言中的精华,内容丰富、形式多样,也是教学中的难点。掌握好指针,可以增强学生阅读C程序的能力,提高...
标题:“浅析C语言中指针的使用.pdf” 描述:“浅析C语言中指针的使用.pdf” 标签:C语言、开发技术、编程技术、参考文献、专业指导 在计算机编程领域,C语言是一种广泛使用的高级编程语言,以其强大的功能和灵活性...
彻底理解C语言中指针的有关概念并正确应用指针 C语言是一种功能强大且广泛应用的高级语言,它具有高级语言和低级语言的双重功能,可以用来编写系统软件,也可以用来编写通用的程序设计语言。C语言的强大之处在于它...
在深入探讨C语言中指针的运用之前,有必要先明确指针的概念。指针在C语言中是一种基本的数据类型,它用于存储变量或其他数据对象的内存地址。通过指针,程序能够直接访问计算机内存中的数据,这一点为C语言带来了极...
C语言中的指针是其核心特性之一,是理解和掌握C语言的关键。指针允许程序员直接访问内存地址,提供了高效和灵活的编程手段。本文将详细分析C语言中指针的用法。 首先,指针是一个变量,其存储的是内存地址,这个...
首先,指针的概念是理解C语言指针的关键。指针本质上是一个变量,它存储的是另一个数据对象的内存地址。这意味着指针可以指向各种类型的数据,包括简单变量、数组、结构体甚至是函数。例如,`int *point1` 是一个...
C语言中指针的用法解析详细知识点: 1. 指针的基本概念 指针是C语言的核心特性之一,指针是一个变量,其值为另一个变量的内存地址。每个变量在内存中占据一定的地址空间,指针变量存储了这些地址信息。理解指针的...
C语言中的指针是编程中的核心概念之一,它允许程序员直接操作内存地址,极大地提高了代码的灵活性和效率。本文将深入解析C语言中指针的用法,帮助学习者理解和掌握这一关键技能。 首先,我们要明确指针的基本概念。...
### C语言中指针的概念详解 #### 一、引言 C语言作为一种强大的编程语言,在计算机科学领域占有举足轻重的地位。...希望本文能够帮助读者建立起对C语言指针的清晰认识,并在实际开发中灵活运用这一强大的工具。
### C语言中指针的基本概念及应用 #### 指针概述 指针是C语言中一种非常重要的数据类型,它允许程序员直接访问和操纵内存地址,从而实现更灵活的数据处理方式。指针的掌握是深入理解C语言的关键,尤其在实现动态...
在深入分析《C语言中指针和函数的应用与实例分析.pdf》一文之前,首先需要对C语言中指针和函数的基础知识做一个回顾。指针是C语言的核心概念之一,它提供了直接访问计算机内存中数据的能力。函数则是组织代码的基本...
在C语言中,指针是其核心特性之一,它的灵活运用是C语言强大的表现。本文将深入探讨指针的基本概念、操作以及它在程序设计中的重要应用。 首先,我们需要理解指针是什么。指针可以被看作是内存地址的别名,它存储了...