2018.7.12

学习日志                     姓名:   徐雪         日期: 2017.07.12

 

今日学习任务

指针与函数,指针数组,数组指针,指针的指针,命令行参数

 

今日任务完成情况

(详细说明本日任务是否按计划完成,开发的代码量。)

 

今日任务已按计划完成。在老师的指导下编写了单词位置倒置,不改变单词内部结构;函数指针的实现;字符串排序;指针型函数的实现;用指针输出数组;指针的指针的用法等程序。

 

 

 

今日开发中遇到的问题汇总

 指针中值传递与地址传递

今日未解决问题

今日开发收获

1.指向【二维数组】的指针几种表示方式:

[&a]  数组的地址,代表整个数组 单位48字节

[a ]  数组首行地址 单位16字节

[a[0]/ *a/ *(a+0)]  首行首元素地址 4字节

[a+1 /&a[1] ]  第二行首地址 16字节

[a[1]/ *(a+1) ]   第二行第0列元素地址

2.命令行参数

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

argc:参数的个数

argv:具体参数,保存参数

3.函数指针int(*pf)();表示pf是一个指向函数入口的指针变量,该函数的返回值是整型

指针函数:返回值是一个指针  int *p()

4.运用右左规则判读是指针还是数组

5. int *p=&a;//p是一个指针,指向a,保存a的地址

int **q=&p;//q是指针的指针,保存p的地址

int ***t=&q;//保存q的地址

 

 

 

 

自我评价

(是否规范完成指定任务,需要改进的地方,与他人合作等。)

名称类似的几个名词概念不清,读程序有困难,听得懂但是自己不会写,希望能通过对指针程序的消化取得进步。

            其他

                无  

 

 

 

1字符串排序

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

# define SIZE 3

void sort(char *a[],int length)

{

int i,j;

char *t;

/for(i=0;i<length-1;i++)

{

for(j=0;j<length-i-1;j++)

{

if(strcmp(string[j],string[j+1])>0)

{

          t=string[j];

                   string[j]=string[j+1];

               string[j+1]=t;

}

}

}

}

 

int main(int argc,char*argv[])//加上

{

int i;

sort(argv,argc-1);

for(i=1;i<argc;i++)

{

     printf("%s\n",argv[i]);

}

    while(1);

return 0;

}

2、冒泡排序程序

#include <stdio.h>

void sort(int *a[],int argc)
{
    int i, j, tmp;
for (i = 0; i < argc - 1; i++)
{
for (j = 0; j < argc - i - 1; j++)
{
if (a[j] < a[j + 1])
{
tmp = a[j];
a[j] = a[j + 1];
a[j + 1] = tmp;
}
}
}
}

void print(int *a[],int argc)
{
        int i;
for (i = 1; i < argc; i++)
{
printf("%d ", a[i]);
}
printf("\n");
}

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

sort(argv,argc);
print(argv,argc);

while (1);
return 0;
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

15195867336

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值