c语言中的指针基本概念
2016-06-14 07:22
281 查看
1,地址形象化的称为“指针”
2,
直接访问:直接按变量名进行的访问
间接访问:即将变量i的地址存放在另一变量中,然后通过该变量来找到变量i的地址,从而访问i的变量
3,一个变量的地址称为该变量的“指针”
如果一个变量专门用来存放另一个变量的地址(即指针),则它称为“指针变量”,指针变量的值是地址
4,int *pointer_1;
(1)指针变量前的*表明该变量的类型为指针变量。指针变量名是pointer_1。
(2)在定义指针变量必须要指定基类型,因为:不同类型的数据在内存中所占的字节数和存放方式是不同的。如果想通过指针变量引用一个变量,只知道地址是不够的,因为无法判断是从首地址开始的一个字节中取,还是4个字节取数据(char,int,float)
5,int *pointer_1=100;//错
你想把地址为1000赋给指针变量pointer_1,但系统无法辨别它是地址,它认为是整常数,而整常数只能赋值给整型变量。
6,数组名不代表整个数组,只代表数组首元素的地址,
int a[10]={1,2,3,4,5,6,7,8,9,0};
int *p;
p = a;//把a的首元素的地址赋值给指针变量p
p+1指向的是下一个元素(注意:它不是在原来地址上进行简单的加一操作,它会根据类型的不同即占用字节不同来加)
如果是char类型 p+1 它是在地址 p+1如果是int类型它是 p+4
2,
直接访问:直接按变量名进行的访问
间接访问:即将变量i的地址存放在另一变量中,然后通过该变量来找到变量i的地址,从而访问i的变量
3,一个变量的地址称为该变量的“指针”
如果一个变量专门用来存放另一个变量的地址(即指针),则它称为“指针变量”,指针变量的值是地址
4,int *pointer_1;
(1)指针变量前的*表明该变量的类型为指针变量。指针变量名是pointer_1。
(2)在定义指针变量必须要指定基类型,因为:不同类型的数据在内存中所占的字节数和存放方式是不同的。如果想通过指针变量引用一个变量,只知道地址是不够的,因为无法判断是从首地址开始的一个字节中取,还是4个字节取数据(char,int,float)
5,int *pointer_1=100;//错
你想把地址为1000赋给指针变量pointer_1,但系统无法辨别它是地址,它认为是整常数,而整常数只能赋值给整型变量。
6,数组名不代表整个数组,只代表数组首元素的地址,
int a[10]={1,2,3,4,5,6,7,8,9,0};
int *p;
p = a;//把a的首元素的地址赋值给指针变量p
p+1指向的是下一个元素(注意:它不是在原来地址上进行简单的加一操作,它会根据类型的不同即占用字节不同来加)
如果是char类型 p+1 它是在地址 p+1如果是int类型它是 p+4
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- C语言练习题:自由落体的小球简单实例
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中进制知识汇总
- C语言判断一个数是否是2的幂次方或4的幂次方
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- C语言实现选择排序、冒泡排序和快速排序的代码示例