易截截图软件、单文件、免安装、纯绿色、仅160KB

C语言指针(三)

【例10.21】用选择法对10个整数排序。
main()
{int *p,i,a[10]={3,7,9,11,0,6,7,5,4,2};
printf("The original array:\n");
for(i=0;i<10;i++)
   printf("%d,",a[i]);
printf("\n");
p=a;
sort(p,10);
for(p=a,i=0;i<10;i++)
{printf("%d ",*p);p++;}
printf("\n");
}
sort(int x[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
   {k=i;
    for(j=i+1;j<n;j++)
      if(x[j]>x[k])k=j;
    if(k!=i)
    {t=x[i];x[i]=x[k];x[k]=t;}
    }
}
说明:函数sort用数组名作为形参,也可改为用指针变量,这时函数的首部可以改为:
sort(int *x,int n) 其他可一律不改。
10.3.4 指向多维数组的指针和指针变量
本小节以二维数组为例介绍多维数组的指针变量。
1. 多维数组的地址
设有整型二维数组a[3][4]如下:
0   1   2   3
    4   5   6   7
8   9 10 11
它的定义为:
int a[3][4]={{0,1,2,3},{4,5,6,7},{8,9,10,11}}
设数组a的首地址为1000,各下标变量的首地址及其值如图所示。
前面介绍过,C语言允许把一个二维数组分解为多个一维数组来处理。因此数组a可分解为三个一维数组,即a[0],a[1],a[2]。每一个一维数组又含有四个元素。
例如a[0]数组,含有a[0][0],a[0][1],a[0][2],a[0][3]四个元素。
数组及数组元素的地址表示如下:
从二维数组的角度来看,a是二维数组名,a代表整个二维数组的首地址,也是二维数组0行的首地址,等于1000。a+1代表第一行的首地址,等于1008。如图:
a[0]是第一个一维数组的数组名和首地址,因此也为1000。*(a+0)或*a是与a[0]等效的, 它表示一维数组a[0]0 号元素的首地址,也为1000。&a[0][0]是二维数组a的0行0列元素首地址,同样是1000。因此,a,a[0],*(a+0),*a,&a[0][0]是相等的。
同理,a+1是二维数组1行的首地址,等于1008。a[1]是第二个一维数组的数组名和首地址,因此也为1008。&a[1][0]是二维数组a的1行0列元素地址,也是1008。因此a+1,a[1],*(a+1),&a[1][0]是等同的。
由此可得出:a+i,a[i],*(a+i),&a[i][0]是等同的。
此外,&a[i]和a[i]也是等同的。因为在二维数组中不能把&a[i]理解为元素a[i]的地址,不存


相关文档:

在s3c2410上运行linux的方法

1. 准备工作:
开发板的ip设置
gzsd> net set ipaddr 192.168.0.11 设置开发板的IP
gzsd> net set serverip 192.169.0.10 设置tftp server的IP
gzsd> net set netmask 255.255.255.0 设置子网掩码
gzsd> net save 保存设置
gzsd> net ping XXX 测试连接状况
安装tftp服务器
windows下
运行光盘工具 ......

给你的C程序加上颜色

标准C控制台程序也可以自定义文字输出颜色,让打印信息更鲜明,在debug的时候特别有用。方法很简单:
转自:http://www.diybl.com/course/3_program/c/c_js/20090303/157456.html
先从一个例子开始
printf("\033[31m ####----->> \033[32m" "hello\n" "\033[m");

颜色分为背景色和字体色,30~39用来设置字体色 ......

C/C++风格字符串

一:字符串类型分类:
1.       C风格字符串:起源于C,并在C++中得到支持。
a.       存储方式:被存储在一个字符数组中,通过一个char*类型的指针来操纵它。
b.       提供的库函数:包含头文件:#include<cstring> ......

Lua与C交互入门

 Lua与C交互入门
简介
Lua与C/C++结合是很紧密的, Lua与C++交互是建立在Lua与C的基础上的, 所
以偶先从Lua与C讲起.
正如第一讲所说, 运行Lua程序或者说调用Lua主要有两种方式:
* 通过命令行执行"Lua"命令
* 通过Lua的C库
虽然此前偶们一直用第一种方式, 但偶要告诉你, 通过Lua的C库执行才是游戏中
常用的方式. ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号