C-指针

来源:互联网 发布:微信淘宝天猫内部优惠 编辑:程序博客网 时间:2024/05/29 09:34

1、什么是指针:
在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,为了正确地访 问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单元。

2、声明指针和取指针变量所指向内存空间的数据时所用到的 * 符号的意义
在int p=&a中 仅仅为了说明p是一个指向整形数据的变量,而在*p=3中 * 表示取p所指向内存单元的数据;

3、理解指针变量的含义
一个指针变量的含义表示它是指向一个内存单元,其本身的值是内存单元的地址,并不是所指内存单元中所存的数据。

4、使用指针时会忽略的问题
在深刻理解指针的含义之后,在使用指针的时候要特别注意,指针在没有被赋值的时候,即没有让指针指向特定的内存单元时,不能用指针进行操作。

5、指针变量:
在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是
某个内存单元的地址
注意:指针变量只能赋值地址或空(NULL/0)

6、输出地址 如果要输出地址(或者说指针),那么需要用格式控制符:%p。

7、指针作为函数参数
1)定义方法
返回值类型 函数名(类型 *变量名){
函数体; 如:
void text (int *pint){
printf(“这个数是:%d”,*pint);
*pint = 30;} //这里修改指针指向的空间里的值后,主调函数外面的值也就修改了 }
int main(){
int num = 10;
text(&num); //传入指针变量后,实参或形参访问的都是同一块地址
printf(“%d\n”,num); //30
}
在函数内部使用指针变量更改了原来容器里的值,主调函数外的实参的值也随之更改。

0 0
原创粉丝点击