C语言中的数组与指针
来源:互联网 发布:海外电视直播软件apk 编辑:程序博客网 时间:2024/05/18 21:12
转自网上一篇文章。
数组与指针的关系:
数组不是指针,但是在一些地方可以起到指针的作用,数组名本身是一个指针常量,它不能被修改,但是数组名作为参数传递的时候,它就落为了一个普通的指针,注意多使用操作符sizeof()来测试一定的代码。
1.数组名不是指针
从下面的DEMO中可以看得出来:
/************************************************************************//* **Filename:array_and_pointer.c**Description:test array and pointer**Note:*//************************************************************************/#include <stdio.h>#include <conio.h>int main(void){char str[10];char *pstr;printf("char str[10] length is %d\n",sizeof(str)); //10printf("*pstr length is %d \n",sizeof(pstr));//4getch();return 0;}
2.数组名的本质
a.数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;
b.数组名的外涵在于其可以转换为指向其指代实体的指针,而且是一个指针常量,不能被修改,像str++这样;
c.指向数组的指针则是另外一种变量类型(WIN32平台下,长度为4),仅仅意味着数组的存放地址。
d.数组名作为函数形参时,在函数体内,其失去了本身的内涵,仅仅只是一个指针;
e.在失去其内涵的同时,它还失去了其常量特性,可以作自增、自减等操作,可以被修改。
void testArray(char str[]){printf("Parameter char str[] length is %d\n",sizeof(str)); //4}
- C语言中的指针与数组
- c语言中的数组与指针
- C语言中的指针与数组
- C语言中的多维数组与指针
- C语言中的数组与指针
- C语言中的数组与指针
- C语言中的指针与多维数组
- C语言中的数组名与指针
- C语言中的二维数组与指针
- c语言中的指针与数组
- C语言中的指针与数组
- C语言中的数组指针与指针数组
- C语言中的指针数组与数组指针的理解
- c语言中的指针(包括数组与指针相关)
- C 语言中的元素指针与一维数组指针
- C语言中的数组指针
- C语言中的指针数组
- c语言中的指针数组
- JAVA初步
- ADO.NET实体框架连接串引发的异常:Unable to load the specified metadata resource
- 使用Jquery+repeater生成可以收缩的目录
- Timer的schedule和scheduleAtFixedRate的区别
- 如何更新无线模块WizFi210固件以支持SPI通信
- C语言中的数组与指针
- php 字符串 函数 查找 比较 截取
- 两个VLC实现播放串流测试
- cmake
- 进程是什么意思?
- Groovy 使 Spring 更出色,第 2 部分: 在运行时改变应用程序的行为
- innerText和innerHTML的区别
- MultiByteToWideChar 和WideCharToMultiByte 用法详解
- ISTQB AL-TM测试经理学习目标