博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017.1.3linux下的C,数组与指针
阅读量:3732 次
发布时间:2019-05-22

本文共 1612 字,大约阅读时间需要 5 分钟。

数组实际上就是一组相同数据类型变量

使用数组以前需要定义一个数组。

C语言中数组的下标从0开始(不同于MATLAB中的1访问不存在的数组变量时,程序就会发生溢出错误

在本质上,数组是内存上一组同类信息列出的一个表

4.1.2 数组的定义和访问

数组的定义,指的是在内存中开辟一块存储空间,生成一个空数组

如:int a [10],  float f [20], char s [5]

也可以不指定变量的个数,如: char a [];

:http://blog.csdn.net/shisiye15/article/details/7827689

C语言问题出现warning: comparison between pointer and integer警告在while(a[I]!=NULL)处,请教高手:https://zhidao.baidu.com/question/237350754.html

一定要注意!!!!!!printf和Printf----一个大小写,浪费了30分钟,一定要注意大小写,但与此同时也重新温习了C语言程序的编译和调试。
4.2指针
指针是一种特殊的数据类型,
用来存储一个变量的地址
通过一个指针,可以
访问这个
指针所指向的变量
程序中的变量都是以
字节的形式存储在
内存单元中。这些内存单元都有一个
编号,这个
编号就是程序中的指针
4.2.2 指针操作符
指针操作符有
*
&两个,分别实现
取变量
取地址的操作。
&可以实现
取一个变量的地址的功能。
例子1:
int *p;  定义一个指针变量
int i=5;  定义一个整形变量
p=&i;  取变量i的地址赋值给p
例子2
int *p;      定义一个指针变量
int i=5, j;   定义整形变量
p=&i;   取变量i的地址赋值给p
j=*p;  取指针p所指向变量值给变量j
4.2.3 指针的定义与访问
定义指针变量时,需要考虑到
这个指针所指向变量的数据类型
定义指针的方法,是在变量前面加一个“
*”。
如: int *p1   ;  char *p2;   float *p3; 
在程序中,
常常通过指针来访问一个变量的值
4.2.4 指针使用实例
中间指针变量交换两个指针变量的值。
4.3 数组与指针
除了可以用
下标访问数组元素外,也可以用
数组的指针访问数据变量。
4.3.1 数组与指针的关系
定义一个数组的时候,就是定义这个数组的
头指针,然后分配若干存储单元。
定义的数组名称是可以直接赋值给一个指针的,并且这个指针可以指向这个数组的第一个元素
4.3.2  指针的算术运算
指针可以做
加法
减法运算。相当于指针的位置从这一位置向后或向前移动若干个
单元。此处的单元,指的是可以存储相应的变量的
内存空间
不一定是多少个字节
4.3.3 字符数组与字符串
字符数组是一种特殊的数组
'\0'要注意。
4.4 二维数组与多维数组
4.4.2 二维数组与指针
q=p+(行数*总列数)+列数
数组可以在程序中实现数据存储
冒泡法排序实例:---C语言中的经典算法。
统计字符串中字符------ASCII码------每一个ASCII码在内存中占据
一个字节
小写字母转换成大写字母-----一个小写字母的ASCII码减去
32,就是相应的大写字母。
指针访问数组
4.6 常见问题
指针可以
对内存进行读写操作。----会造成内存数据的错误。---
当对指针进行写操作时,错误的操作可以破坏内存中其他程序的数据
在使用指针时,需要牢记,
不可以随意向不确定的内存单元写入数据
定义一个指针后,必须对其进行正确的赋值
错误2:错误地将一个数据直接赋值给一个指针变量。
错误3:数组指针的越界错误
小节:数组与指针的知识是
C程序中的重要内容
需要建立起直观形象的空间概念

你可能感兴趣的文章
Python的入门学习
查看>>
⑤mpvue 小程序框架 :初始化项目 分析项目结构
查看>>
⑦mpvue Flyio实现前后台交互
查看>>
⑫HTML5与之前HTML的区别
查看>>
操作系统:Java模拟CPU调度算法(非抢占短进程优先、可抢占优先权调度、多级反馈队列调度)
查看>>
【前端】在页面中还原英雄联盟客户端?
查看>>
【前端】HTML+CSS 纯干货 基础知识分享!
查看>>
【前端】JavaScript 纯干货 基础知识分享!
查看>>
【前端】jQuery 纯干货 基础知识分享!
查看>>
【前端】Vue 纯干货 基础知识分享!
查看>>
3.1servlet入门和MVC模型
查看>>
3.2servlet功能和会话技术
查看>>
3.3servlet三大作用域
查看>>
泛型详解
查看>>
集合案例:斗地主
查看>>
idea常用快捷键
查看>>
软件测试进阶篇
查看>>
二叉搜索树的实现
查看>>
连续最大和
查看>>
不要二题目
查看>>