关闭

2017.1.3linux下的C,数组与指针

114人阅读 评论(0) 收藏 举报
分类:

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

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

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

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

4.1.2 数组的定义和访问

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

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

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

c语言NULL和0区别: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程序中的重要内容需要建立起直观形象的空间概念














0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

C/C++数组和指针详解

/****************************************************************/ /*            学习是合作和分享式的! /* Au...
  • wdzxl198
  • wdzxl198
  • 2013-06-13 16:16
  • 7023

C/C++中二维数组和指针关系分析

在C/c++中,数组和指针有着密切的关系,有很多地方说数组就是指针式错误的一种说法。这两者是不同的数据结构。其实,在C/c++中没有所谓的二维数组,书面表达就是数组的数组。我猜想是为了表述方便才叫它二...
  • zhouxuguang236
  • zhouxuguang236
  • 2013-10-03 18:02
  • 37986

数组元素的访问方式—指针与下标

数组元素的访问方式—指针与下标 《c和指针》中有一句话:下标绝对不会比指针更有效率,但指针有时会比下标更有效率! 在解释这句话之前说上一句自己的想法:效率很重要,但是不能仅仅为了提高点效率而牺...
  • xwchao2014
  • xwchao2014
  • 2015-05-10 22:29
  • 1865

LINUX-C成长之路(七):数组与指针

谈到C语言编程,数组和指针是很多人的心头大石,总觉得它们是重点难点,重点是没错的,但绝不是什么难点,要说C语言的难点,客观地讲应该是带参宏,而数组和指针,概念浅显易懂,操作简洁方便,根本不是很多初学者...
  • u010875004
  • u010875004
  • 2013-06-01 18:09
  • 566

linux c /指针数组的使用及字符串排序

最近为了做一题字符串排序的题目,花了不少
  • jj2060
  • jj2060
  • 2014-11-05 17:00
  • 1014

C/C++中数组与指针的关系

  • 2009-12-10 16:39
  • 132KB
  • 下载

C/C++数组名与指针区别深层探索

  • 2008-12-28 18:00
  • 4KB
  • 下载

华清远见 c补习 5数组与指针

  • 2013-07-12 18:23
  • 1000KB
  • 下载

C和C++中数组名与指针的区别.pdf

  • 2010-05-28 13:07
  • 124KB
  • 下载

C_指针_数组_函数参数

  • 2015-05-22 20:33
  • 17KB
  • 下载
    个人资料
    • 访问:10499次
    • 积分:658
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:49篇
    • 译文:0篇
    • 评论:1条
    最新评论