011_C语言数组与指针间的转换及函数应用
来源:互联网 发布:如何避开淘宝3c认证 编辑:程序博客网 时间:2024/06/16 11:14
数组的名字是数组的首地址
数组名是个常量
大端:数据的高字节存在内存的低地址上
小端:数据的低字节存放在内存低地址上
一维数组和指针之间的转换:
a[1]=*(a+1)取出数组中a[1]的内容
int *p; p=a; *p=a[0] p指向数组的首地址 *p取的是首地址里面的内容
二维数组与指针之间的转换:
a[1][2]=*(*(a+1)+2) 取出数组中a[1][2]的内容
int *p; p=a; *p=a[0][0] p指向数组的首地址 *p取的是首地址里面的内容
int (*arr)[3]; *arr为指针变量,除此之外,其他成分都是访问方式,arr每移动一个单 位就移动3个int
一维数组对应一重指针,二维数组对应二重指针
数组/指针代码示例:
int main(void)
{
int arr[3]={12,13,14};
int a[2][3]={{1,2,3},{4,5,6}};
int *p;
p=a;
printf("a[0][0]=%d\n",*p);
int (*aar)[3];
aar=a;
printf("a[0][0]=%d\n",**aar);
printf("a[1][0]=%d\n",*(*(aar+1)));
printf("a[1][2]=%d\n",*(*(aar+1)+2));
printf("a[2]=%d\n",*(arr+2));
printf("a[1][2]=%d\n",*(*(a+1)+2));
printf("a[0][1]=%d\n",*(*a+1));
printf("a[0][0]=%d\n",*(*a));
return 0;
}
函数:在定义函数时,应尽量函数功能单一化,模块化
软件分层思想:
gdb调试工具使用
gdb 文件名.out
l显示十行
b 函数名 设置断点表示程序执行到端点即停止运行
r 运行
p 变量 打印指定的变量值
n 运行下一个
q 退出
s 分布执行
形参被实参初始化时,被传递的实参值不会改变,传递地址址时,仅仅是该地址里面的内容发生变化,而地址本身不会改变
函数代码示例
#include <stdio.h>
int main(void)
{
int a=3,b=5;
int c=6,d=9;
swap(a,b);
printf("a=%d,b=%d\n",a,b);
swap1(&c,&d);
printf("c=%d,d=%d\n",c,d);
return 0;
}
swap(int x,int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf("x=%d,y=%d\n",x,y);
return;
}
swap1(int *i,int *j)
{
int *p;
p=*i;
*i=*j;
*j=p;
printf("*i=%d,*j=%d\n",*i,*j);
return;
}
- 011_C语言数组与指针间的转换及函数应用
- 黑马程序员_C语言的数组与指针
- 指针数组,数组指针,指针函数,函数指针的区别及类型间的转换
- iOS笔记之_C语言数组与指针
- 指针函数与函数指针,指针数组及数组指针
- 指针与函数及指针与数组之间的关系
- 黑马程序员_C语言的函数、数组、字符串
- 数组与指针间的转换浅析
- C语言二维数组与数组指针和指针数组的应用
- 函数指针数组的应用
- C语言指针、指针函数与函数指针、指针数组与数组指针
- 函数指针数组与不定参数的应用
- *(p+i) ,C语言数组指针_C语言中文网
- 函数指针与函数的数组指针
- C语言中的指针(指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针)
- 黑马程序员_C语言指针的学习
- 20170215C语言提升08_指针_02数组指针及指针数组及函数指针
- <C语言>“指针数组与数组指针+指针函数与函数指针”---区别理解
- POI设置EXCEL单元格格式为文本、小数、百分比、货币、日期、科学计数法和中文大写
- smith 旋转一周 是 半波长
- Android中的系统广播集合
- {}如何利用邮件进行推广
- B. Suffix Structures 模拟吧,情况比较多要想周全
- 011_C语言数组与指针间的转换及函数应用
- centos g++
- 邻接表
- 数据挖掘中的分类算法比较
- 【基于Java】udp传输实例
- Linux 任务调度crontab的使用
- 使用log4jdbc记录db log
- ios 文件上传, post数据
- Android中3种时间获取方法的差异