C语言学习-基础-4

前言


C语言基础笔记之四,指针.

内容


【1】指针概述

1--- 指针变量
    用于存放地址量的变量

2--- 指针
    指针变量、地址常量通称为指针

3--- *
    1--- 定义
    2--- 指针解引用:通过地址获取其内容

4--- 指针加减:加减的是单位长度
     单位长度:指针所指向的数据所占有的字节大小

【2】数组

a[i]    <===>   *(a+i)
*(p+i)  <===>   p[i]
[]:指针加上单位长度后,取*运算

a:地址常量
p:指针变量

【3】atoi

功能:将数值形式的字符串转换成整形数据
头文:<stdlib.h>
参数:char *
返值:int
特点:遇到非数值形式的数据停止转换

【4】二维数组

int a[3][4]
1--- a:行地址,加一移动一行
     a[0]:列地址,加一移动一列
2---
     a[i][j]   <===>  *(a[i]+j)  <===> *(*(a+i)+j)

【5】sizeof

指针占四字节空间,与存储类型的数据没有关系

【6】指针数组

int *p[3];

1--- 本质:数组,元素是指针类型
2--- 三个元素:p[0]、p[1]、p[2]

【7】数组指针

int a[4][3];
int (*p)[3];
1--  p[i][j]   <===>  *(p[i]+j)  <===> *(*(p+i)+j)
     a[i][j]   <===>  *(a[i]+j)  <===> *(*(a+i)+j)

2--  p:指针变量,a:地址常量

【8】&与*

互为逆运算

【9】二级指针

用于存放一级指针的地址
int a = 10;
int *p = &a;
int **q = &p;

【10】const

const int * p;
常量化*p;

int * const p;
常量化p;

【11】void *

泛型指针

【12】NULL

int *p = NULL;

防止野指针的形成

版权声明:本文为博主原创文章,转载请注明出处KidSea

小额赞助,鼓励作者写出更好的文章