linux C编程--数组与指针

来源:互联网 发布:sqlserver 行为日志 编辑:程序博客网 时间:2024/06/06 00:30

1.如何得到数组的大小?

将数组和表示数组大小的的值一起传给函数,比如:

char source [MAX] ,dest [MAX];

/*......*/

memcpy (dest, source, MAX);

2.指针和地址

指针意味着已经有一个指针变量的存在,它的值是一个地址,指针变量本身也放在一个长度为4字节的地址当中,而地址概念本身不代表任何变量的存在。指针的值如果没有固定,是可以变化的,也可以指向另一个地址。

3.指针和数组名的关系

它们的值都是一个地址,当时指针的值可以变化,而数组的值是不能变的。

4.指针类型的变换

指针转换通常是指指针类型和void*类型之间的转换。

5.可以把一个地址赋给一个数组名吗?

不行,数组名不能被放在赋值运算符的左边,一个数组是一个对象,它的数组名就是指向这个对象的第一个元素的指针。

6.字符串与数组的区别

数组的元素可以是任意一个类型,而字符串是一种特殊类型的数组。

7.指针是什么?

(1)系统为指针分配内存空间

(2)指针有自己的地址

(3)指针能够存值,但这个值是地址

8.指针如何运算

(1)指针±整数 只能用于数组中某个元素的指针

(2)指针-指针 只有当两个指针都指向同一个数组中的元素时,才允许从一个指针减去另一个指针。

9.指针数组与数组指针

(1)指针数组定义了一个数组,数组包含了N个指针变量,p【0】,p【1】。。。。。。p【N-1】。

(2)数组指针定义了一个指向N个数据元素的二维数组的指针。

10.入门的一些注意点

在使用指针前必须要注意的是:首先要分配地址,再者要初始化,然后在操作中不能超过边界,最后用完要释放内存。


原创粉丝点击