聊一聊指针的易错点

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

一:简单数值指针

一个简单的应用:

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


//%%%%比较两个数的大小并输出%%%%//
#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]);
 }
}

 

相关文章
|
3月前
|
C语言
C语言(指针详解)重点笔记:指针易错点,都是精华
C语言(指针详解)重点笔记:指针易错点,都是精华
50 0
指针指向空间的申请和释放易错点
指针指向空间的申请和释放易错点
|
2月前
|
C语言
指针进阶(C语言终)
指针进阶(C语言终)
|
5天前
|
C语言
【C初阶——指针5】鹏哥C语言系列文章,基本语法知识全面讲解——指针(5)
【C初阶——指针5】鹏哥C语言系列文章,基本语法知识全面讲解——指针(5)
|
5天前
|
C语言
【C初阶——指针4】鹏哥C语言系列文章,基本语法知识全面讲解——指针(4)
【C初阶——指针4】鹏哥C语言系列文章,基本语法知识全面讲解——指针(4)
|
5天前
|
存储 编译器 C语言
【C初阶——指针3】鹏哥C语言系列文章,基本语法知识全面讲解——指针(3)
【C初阶——指针3】鹏哥C语言系列文章,基本语法知识全面讲解——指针(3)
|
1月前
|
编译器 C语言
【C语言初阶】指针篇—下
【C语言初阶】指针篇—下
|
1月前
|
存储 C语言
【C语言初阶】指针篇—上
【C语言初阶】指针篇—上
|
2月前
|
搜索推荐 程序员 C语言
指针赋值与引用传递:C语言的基础知识与实践技巧
指针赋值与引用传递:C语言的基础知识与实践技巧