聊一聊指针的易错点

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

一:简单数值指针

一个简单的应用:

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


//%%%%比较两个数的大小并输出%%%%//
#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语言(指针详解)重点笔记:指针易错点,都是精华
15 0
|
10月前
|
存储
指针指向空间的申请和释放易错点
指针指向空间的申请和释放易错点
|
6天前
|
C语言
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
|
6天前
|
存储 程序员 编译器
爱上C语言:指针很难?来来来,看看这篇(基础篇)
爱上C语言:指针很难?来来来,看看这篇(基础篇)
|
6天前
|
C语言
c语言指针总结
c语言指针总结
15 1
|
1天前
|
C语言
C语言进阶⑬(字符串函数)+(指针编程题)strlen+strcpy+strcat+strstr+strtok+strerror(下)
C语言进阶⑬(字符串函数)+(指针编程题)strlen+strcpy+strcat+strstr+strtok+strerror
5 0
|
1天前
|
安全 C语言
C语言进阶⑬(字符串函数)+(指针编程题)strlen+strcpy+strcat+strstr+strtok+strerror(中)
C语言进阶⑬(字符串函数)+(指针编程题)strlen+strcpy+strcat+strstr+strtok+strerror
10 0
|
1天前
|
C语言
C语言进阶⑫(指针下)(指针和数组笔试题解析)(杨氏矩阵)(中)
C语言进阶⑫(指针下)(指针和数组笔试题解析)(杨氏矩阵)
11 0
|
1天前
|
C语言
C语言进阶⑫(指针下)(指针和数组笔试题解析)(杨氏矩阵)(上)
C语言进阶⑫(指针下)(指针和数组笔试题解析)(杨氏矩阵)
11 0

热门文章

最新文章