实训第四天日志

实习日志                            姓名:成盛       班级:通卓161

今日学习任务

函数与指针

数组与指针

指针与指针

今日任务完成情况 基本完成
今日开发中出现的问题汇总 不清楚argc和argv的真正含义
今日未解决问题
今日开发收获 函数名就是该函数所占内存区的首地址 例如:int (*pf)()是一个变量说明,表示pf是一个指向函数入口的指针变量,该函数的返回值是整型 int *p()是一个函数说明,说明p是一个指针函数。例如int *(*(*fp)(int))[10]:  fp是一个指针,指向函数,函数有一个int类型的参数,函数返回值是个指针,指向一个有10个元素的数组,每个元素都是一个整型指针。&a 数组的地址 单位 48字节
a 首行地址  单位为16字节a[0]  *a  *(a+0)    0行首元素地址  4字节a+1  &a[1]   第二行地址  16字节a[1]  *(a+1)    第一行第0列元素地址a[1]+2  *(a+1)+2  &a[1][2]   第一行第二列元素地址 *(a[1]+2)  *(*(a+1)+2)     a[1][2]   第一行第二列的值
自我评价
其他
1、#include

#include

void range(char *a[], int length)
{
int i,j;
char *d;
for(i=0;i {
for(j=0;j {
//if(a[j]>a[j+1])
if(strcmp(a[j],a[j+1]) < 0)       //a[j] {
d=a[j+1];
a[j+1]=a[j];
a[j]=d;
}
}
}
}


int main(int argc, char *argv[])
{
int i;
// char *string[100] = {0};                       //数组存放在栈空间
   
range(argv,argc-1);
printf("从大到小排列为: ");
    for(i = 0; i < argc ; i++)
{
printf("%s ",argv[i]);
}
printf("\n");


return 0;

}


2、#include
#include


void range(int a, char * b[])
{
int i,j;
char * d;


for(i=1;i {
for(j=1;j {
if(atoi(b[j]) < atoi(b[j+1]))
{
d = b[j+1];
b[j+1] = b[j];
b[j] = d;
}
}
}


}         

int main(int argc, char *argv[])
{


    int i,j,d;
range(argc,argv);
for(i = 1 ;i < argc; i++)
{
printf("%s ",argv[i]);
}
printf("\n");
}


你可能感兴趣的:(实训第四天日志)