一、指针基础概念
1.什么是指针和指针变量
指针是地址,存放地址的变量是指针变量,指针变量的值是指针。
2.什么是访问
读取或者修改内存单元
3.访问的两种方式
1.直接访问:通过变量直接访问,eg: a=5;
2.间接访问:通过地址访问,eg:scanf("%d",&a);
4.* 和 &
*叫做取值操作符(解引用符),&叫做取址操作符。
*p //表示p指向的内存的值
int a=100 ; nt *p ; p=&a ;
&*p == &a
*&a==a
5.定义指针变量指定类型
在定义指针变量时必须指定基类型, int * p ; int a ; p = a ;
6·指针变量的大小
32位:4个字节
64位:8个字节
二、指针与数组
1·指向数组的指针定义
int a[10] = {
0};
int *p = a;
2·引用数组元素的方法
- a [ i ] ;
- *( p + i ) ;
3·数组作为形参
main (void)
{
int a [10] ;
int *p = a ;
fun ( a ,10 ) ;
}
void fun ( int *p , int n )
{
}
4.二维数组与指针
int a [3][4] = {
{
1, 3, 5, 7}, {
9, 11, 13, 15 }, {
17, 19,