学习目标:C语言回顾笔记5.
学习内容:
- 初识指针
- 指针小用法
学习产出:
1. 初识指针
//重点:指针
//一个内存单元为一个字节(内存单元是有地址的),而指针就是包含内存地址的变量;
//这个地址是内存中另一个对象(通常是另一个变量)的位置。
//例如:如果一个变量包含另一个变量的地址,我们说第一个变量指向第二个变量。
#include <stdio.h>
int main ()
{
int a=10;//a在内存所分配的空间为4个字节
printf("打印地址:%p\n",&a);//%p打印地址,&a返回变量的地址。
int *pa=&a;//其中pa用来存放地址,也就是我们的指针变量;
//int 说明该变量执行的类型为整形;
// * 说明该变量为指针变量;
//例如:
char ch='s';
char *cs=&ch; //指针变量创建完成;
printf("%p\n",*cs);
}
2. 指针小用法
//重点:指针修改变量
#include <stdio.h>
int main ()
{
int a=10;
int *pa=&a;
*pa=20; //* 解引用操作,*pa通过地址找到变量a
//并且可以进行修改;
printf("%d\n",a); //结果 a=20;
}
//所以,指针就是地址;
补充:探究指针的大小?
//探究:指针的大小;
#include <stdio.h>
int main ()
{
printf("%d\n",sizeof(char*));
printf("%d\n",sizeof(long long*));
printf("%d\n",sizeof(float*));
printf("%d\n",sizeof(double*));
printf("%d\n",sizeof(int*));
//结果都为8;(和平台有关: 32和64)
//所以,指针的大小都是相同的,
//因为都是存放地址的,存储地址;
}