学习日志 余雪 2018.7.12

今日学习任务

1. 指针与函数

2. 指针数组

3. 数组指针

4. 指针的指针

5. 命令行参数

今日任务完成情况 已完成
今日开发问题汇总 指针函数指针函数指针数组
今日未解决问题
今日开发收获

1.指针的指针中存的是指向的指针的地址,定义时应如:int **p

2.(*p)[4]是一个数组指针,指向含有4个元素的数组,p+1加16个字节

3.int *(*(*fp))(int)[10]
fp是一个指针,指向函数,函数有一个int类型参数,函数返回值是一个指针,指向

一个有10个元素的数组,每个元素都是一个整型指针

int *(*(*arry[5])())()
arry是一个数组,有5个元素,每个元素都是指针,指向一个函数,函数没有形参,
返回值是一个指针,指向一个函数,函数没有形参,返回值是一个整型指针


自我评价 对c语言理解更深了
其他

课后作业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;

}


猜你喜欢

转载自blog.csdn.net/qq_42653119/article/details/81023328