您的位置:首页 > 编程语言 > C语言/C++

指针数组 多维数组C语言

2014-03-20 18:45 309 查看
队c语言的认识

指针初始化 : static char *allocp = alloc_buf, 将char数组的首地址赋值给char类型指针;

-- 初始化内容 : 0 或者 地址;

-- 地址限定 : 对指针初始化的地址, 该地址存储的数据的类型必须是该指针类型

内存可用判断 : alloc_buf + ALLOCSIZE - allocp >= n;

-- 意义 : alloc_buf 是数组首地址, ALLOCSIZE 是数组大小, allocp是可用内存偏移量, alloc_buf + ALLOCSIZE -allocp 结果是可用的内存量, 如果可用内存大于n, 则可以赋值;

-- 如果内存不足 : 内存不足, 将0作为地址返回, C语言中设定 0 不是有效的数据地址, 0地址的数据为NULL, 返回0表示发生了异常事件;

指针整数转换特例 : 指针 和 整数 不能相互转换;

-- 通常情况 : 指针 和 整型 之间不能相互转换, 0 除外;

-- 特例 : 常量 0 可以赋值给指针, 指针 可以和 常量 0 进行比较, 这里注意是常量;

-- 0的特殊性 : NULL 可以代替 常量0, 常量0 是一个特殊值;

指针运算 : 

-- 比较运算 : 两个指针都指向同一个数组中的元素, 那么两个指针之间的比较是有意义的, 指向两个不同数组元素的指针之间比较无意义;

-- 加减运算 : 指向数组元素的指针, 进行加减运算, 地址的计算按照 运算数 * 指针指向元素的大小 进行计算;

计算字符串长度示例 : 

-- 代码 : 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: