苏嵌 项目实战
学习日志 姓名:高瑞 日期: 2018.7.12
今日学习任务 首先讲解了昨晚的任务 如何实现字符串的倒叙而不是字母的倒叙,
然后讲了指针函数的相关知识,指针数组和数组指针的区别 ,
最后如何用命令行参数输入数据
今日任务完成情况
掌握了如何通过指针实现字符串的倒叙。
掌握了指针型函数的定义方法——先往右看再往左看,()的优先级高
掌握了数组指针的调用方法和一个使用实例--排序
int big(int x,int y)
{
return (x>y)?1:0;//条件表达式
}
void sort(int a[],int(*p)(int,int))
{
int i,j,tmp;
for(i=0;i<SIZE-1;i++)
{
for(j=0;j<SIZE-i-1;j++)
{
if(p(a[j],a[j-1])
{
tmp=a[j];
a[j]=a[j-1];
a[j-1]=tmp;
}
printf("%d",a[i]);
}
printf("\n");
}
int main()
{
int a[SIZE]={0};
GetArray(a);
sort(a,big);
print(a);
while(1);
return 0;
}
二维数组的基本概念
今日开发中出现的问题汇总
指针的内容是NULL时 ,怎么传递变量,及以下代码的错误原因
void InitMemory(char *s)
{
s=(char *)malloc(sizeof(char)*64);
}
int main()
{
char *ptr =NULL;
InitMemory(ptr);
strcpy(ptr,"helloworld");
printf("%s\n",ptr);
while(1);
return 0;
}
如果要传递实参的内容时,应该传递传递它的地址
int *p()则不是变量说明而是函数说明,说明p是一个指针型函数,其返回值是一个指向整型量的指针,*p两边没有括号,作为函数说明,在括号内最好写入形式参数,这样便于与变量说明区别。
// argc 参数的个数
//argv 指针数组 具体的参数
今日未解决问题
今日开发收获
自我评价
感觉挺困难的
其他
字符串排序
#include<string.h>
#include<stdlib.h>
#define SIZE 3
void sort(char *string[],int length)
{
int i,j;
char *t;
for(j=0;j<length-1;j++)
{
for(i=0;i<length-j-1;i++)
{
if(strcmp(string[i],string[i+1])>0)
{
t=string[i];
string[i]=string[i+1];
string[i+1]=t;
}
}
}
}
int main(int argc, char *argv[])
{
int i;
sort(argv,argc-1);
printf("The string after sort:\n");
for(i=1;i<argc;i++)//输出
{
printf("%s ",argv[i]);
}
while(1);
return 0;
}
#include <stdio.h>
{
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;
}