博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
15-黑马程序员------C 语言学习笔记---数组和指针
阅读量:5833 次
发布时间:2019-06-18

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

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

四 数组和指针

01 数组名代表数组在内存中的首地址,表示的是地址信息,因此数组名可以理解为一个指针,不过数组名是一个常量,不能改变.

#include 
int main(){ char name[]="haha"; char name1[]="gggg"; char name3[2][10] = {
"fffff","jjjjj"}; printf("%s\n",name3[0]); return 0;}

 

02 指向数组的指针:定义指向数组的指针就是将数组的首地址赋值给指针变量.

如:int a[10];

   int *p; p=&a[0];

p=&a[0]等价于p=a            

#include 
int main(){ char name[]="haha"; char name1[]="gggg"; char name3[2][10] = {
"fffff","jjjjj"}; printf("%s\n",name3[0]); return 0;}

 

03 通过指针引用数组元素:p+i表示a[i]的地址,*(p+i)表示数组元素a[i]

04 可以改变指针变量的值,但指针常量不可改变.指针运算符的优先级最高

05 多维数组和指针:

x[i]等价于*(x+i)

&x[i]等价于x+i

/* 1.数组元素的访问方式 int ages[5]; int *p; p = ages; 1> 数组名[下标]  ages[i] 2> 指针变量名[下标] p[i] 3> *(p + i)  2.指针变量+1,地址值究竟加多少,取决于指针的类型 int *   4 char *  1 double * 8 */#include 
void chang(int *array);int main(){ int ages[] = {
10,5,55,66,45}; chang(ages); return 0; }void chang(int *array){ printf("%d\n",array[2]); }

 

06 指向多维数组元素的指针变量:

指向由m个元素组成的一维数组的指针变量的定义为: 类型名(*指针变量名)[长度]; 如:int(*pa)[4];

07 字符串和指针:

在对字符串中的字符进行存取时,可以定义一个指针变量,指向字符串中的第一个字符,再利用指针的移动来访问字符串中得字符

 

转载于:https://www.cnblogs.com/iceshan/p/4492550.html

你可能感兴趣的文章
P1382 楼房 set用法小结
查看>>
分类器性能度量
查看>>
windows 环境下切换 python2 与 pythone3 以及常用命令
查看>>
docker 基础
查看>>
解决灾难恢复后域共享目录SYSVOL与NELOGON共享丢失
查看>>
eclipse集成weblogic开发环境的搭建
查看>>
写一个bat文件,删除文件名符合特定规则,且更改日期在某
查看>>
我的友情链接
查看>>
写Use Case的一种方式,从oracle的tutorial抄来的
查看>>
【C#】protected 变量类型
查看>>
Ubuntu解压
查看>>
爬虫_房多多(设置随机数反爬)
查看>>
藏地密码
查看>>
爬虫去重(只是讲了去重的策略,没有具体讲实现过程,反正就是云里雾里)...
查看>>
react中将px转化为rem或者vw
查看>>
8816
查看>>
avcodec_open2()分析
查看>>
何如获取单选框中某一个选中的值
查看>>
paip.输入法编程----删除双字词简拼
查看>>
Django的Form(二)
查看>>