苏嵌学习日志3

学习日志

姓名:唐小玲 日期:2018.7.11

 

 

今日学习任务

 

1. 指针

2. 指针数组

 

今日任务完成情况

 

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

1. 指针是变量的一种,用来保存地址

2. 指针运算符:&表示取地址;*表示取值

3. 无论什么类型的指针,长度都是4个字节

4. *有两层含义:定义的时候表示变量是一个指针;     使用的时候表示取值

5. 指针运算

6. 指针变量的使用方法

7. 指针数组的定义及用法

 

今日开发中出现的问题汇总

 

个人指针这一部分知识点理解起来比较困难,掌握程度不够,编写程序的时候有很多问题,需要重新学习。

 

今日未解决问题

 

 

 

今日开发收获

 

1.指针运算

int x = 3, y = 0, *px = &x;

Y = *px+5;     //y=8

Y = ++*px;     //y=4

Y = *px++;     //y=4

2.利用指针运算实现库函数strcpy

#include<stdio.h>

 

int main()

{

char *begin;

char *ptr = (char *)malloc(sizeof(char) * 32);

if(NULL == ptr)

{

printf("malloc failure\n");

return -1;

}

printf("input:\n");

scanf("%s", ptr);

begin = ptr;

ptr += strlen(ptr) - 1;

while(ptr >= begin)

{

printf("%c", *ptr--);

}

return 0;

}

3. 字符数组和字符串的区别

#include<stdio.h>

 

int main()

{

//合法的:char *ptr = "helloworld";

char *ptr; //野指针

ptr = "helloworld"; //指针的赋值

//char str[]={"helloworld"};合法的

//char str[]="helloworld";合法的

char str[20];

str = "helloworld"; //不合法的,字符数组名是一个常量

//str是常量,不可修改;ptr是变量,可以修改

ptr[0] = 'a'; //错误,helloworld是常量,不可修改

str[0] = 'a';

return 0;

}   

 

自我评价

(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)

一些简单的练习能够做出,但是有一些小知识点遗忘了,不够熟练,需要多多实践练习!

 

 

其他

 


 作业:

4.编写一个C函数,将“ I am from shanghai ”倒置为“ shanghai from am I ”,即将句子中单词位置倒置,而不改变单词内部结构。

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main()

{

    char *str[] = { "I", "am","from","shanghai" ,NULL};

    int i = 0;

    int j = 0;

    int len  = 0;

    char *temp;

    while (str[i] != NULL)

    {

        i++;

        len++;

    }

    for(i = 0, j = len - 1; j  > i; i++,j--)

    {

        temp =*(str+i);

        *(str+i) = *(str+j);

        *(str+j) = temp;

    }

    for(i = 0; i < len; i++)

    {

        printf("%s ", *(str+i));

    }

printf("\n");

    return 0;

}

猜你喜欢

转载自blog.csdn.net/qq_36974603/article/details/81007459
今日推荐