1. *和&
简单来说:
*取值
&取地址
int A[2][10];
int *P;//P是指针变量,*P是所指内存原本储存的值,&P是指针变量的地址
int **K;
*P=A[1][9];(合法)//操作的是值
*K=A[1];(合法)//操作的是地址
2.malloc()和realloc()动态内存分配函数
1.静态内存:程序编译开始阶段,由编译器分配给该程序的内存;
2.动态内存:编程者不知道该申请多大,手动申请的内存。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i=2;
int * p = (int *)malloc(4);
/*
1.要使用malloc函数就必须添加 malloc.h/stdlib.h头文件
2.malloc只有一个形参。并且形参是整形
3.4表示请求系统为本程序分配4个字节的内存
4.malloc函数只能返回第一个字节的地址,(int *)是为了让程序明白该地址是整型变量的地址
*/
p=(int *)realloc(p,10*sizeof(int));
/*
1.realloc函数有两个形参,需要改变大小的指针名字和新的内存大小
2.新的内存必须比之前的大不然就会出现数据丢失
return 0;
}
3. 结构体指针
引用
http://c.biancheng.net/view/246.html