目录
1.指针的本质
*p(取值:加指针变量 p就是变量名)
2.指针的传递
字符型传递:就是把一个变量的值传递给对应的子函数
char c[]:C是一个字符数组,但是编译器给c 内部存了一个值,C里面存的值得类型是字符指针
3.指针的偏移
#include<stdio.h>
int main()
{
int a[5]={1,2,3,4,5};
int *p=0x0075F7CC;
p=a;
printf("*p=%d\n",*p);
for(int i=1;i<6;i++)
{
printf("%d\n",*p(p+i));
}
return 0;
}
4.指针与自增自减运算符
5.指针与一维数组
数组名作为实参传递给函数时,是弱化为指针的
6.指针与动态内存申请
即malloc函数
关于malloc函数的书写语法?如下:
char *p;
p=(char*)malloc(i); //申请的空间内存是动态的
(注意:申请的单位是字节)
7.栈空间与堆空间的差异
能不能够自动释放(栈空间会,堆空间不会)以及自动申请内存空间的差异(栈空间申请多大的空间是固定的,而堆空间是动态内存申请malloc)
8.字符指针和字符数组的初始化
char *p="happy";
char p[10]=“hello”;
9.二级指针的偏移
类似于“一级指针的偏移”可以先暂时忽略