聊一聊指针的易错点

简介: 聊一聊指针的易错点

一:简单数值指针

一个简单的应用:

比较两个数的大小并输出 :


//%%%%比较两个数的大小并输出%%%%//
#include<stdio.h>
#pragma warning(disable:4996)
int a, b;
int *P1=&a,*P2=&b;
void main()
{
 int temp;
 a = 3;
 b = 6;
 if (a < b)
 {
  temp = P1;
  P1 = P2;
  P2 = temp;
 }
 printf("%d\n%d", *P1, *P2);
}

&b:

*P1:

P1=&a:

能理解上面三个东西的含义就差不多了。指针在定义的时候最好给个初值。

指针和指针变量的含义是不同的。P1是指针变量。

二、指针在数组中的使用

可以思考一下P1+i的含义,P1+i可不是单纯的加上一个数i,而是一个单位长度,这个单位长度当然和数据类型有关系了

使用指针的好处就是大大提高了运行效率

#include<stdio.h>
#pragma warning(disable:4996)
void main()
{
 int i,a[100] = {0};
 int *P1= &a;
 for (i = 0; i < 10; i++)
 {
  *(P1 + i)= i;
  printf("%d\n", *(P1 + i));
 }

运行并理解下面这段代码的含义,指针数组差不多就懂了

#include<stdio.h>
#pragma warning(disable:4996)
void main()
{
 int i,j,a[100] = {0};
 int *P1= &a;
 for (i = 0; i < 100; i=5*i+2)
 {
  *(P1 + i)= i;
  printf("%d\n", *(P1 + i));
 }
 for (j = 0; j<= 99; j++)
 {
  printf("a is:%d\n", a[j]);
 }
}

 

相关文章
|
6月前
|
C语言
C语言(指针详解)重点笔记:指针易错点,都是精华
C语言(指针详解)重点笔记:指针易错点,都是精华
75 0
指针指向空间的申请和释放易错点
指针指向空间的申请和释放易错点
|
5月前
|
C语言
指针进阶(C语言终)
指针进阶(C语言终)
|
1月前
|
C语言
无头链表二级指针方式实现(C语言描述)
本文介绍了如何在C语言中使用二级指针实现无头链表,并提供了创建节点、插入、删除、查找、销毁链表等操作的函数实现,以及一个示例程序来演示这些操作。
24 0
|
2月前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
|
3月前
|
C语言
【C初阶——指针5】鹏哥C语言系列文章,基本语法知识全面讲解——指针(5)
【C初阶——指针5】鹏哥C语言系列文章,基本语法知识全面讲解——指针(5)
|
3月前
|
C语言
【C初阶——指针4】鹏哥C语言系列文章,基本语法知识全面讲解——指针(4)
【C初阶——指针4】鹏哥C语言系列文章,基本语法知识全面讲解——指针(4)
|
3月前
|
存储 编译器 C语言
【C初阶——指针3】鹏哥C语言系列文章,基本语法知识全面讲解——指针(3)
【C初阶——指针3】鹏哥C语言系列文章,基本语法知识全面讲解——指针(3)
|
4月前
|
编译器 C语言
【C语言初阶】指针篇—下
【C语言初阶】指针篇—下