学习日志
姓名:唐小玲 日期: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;
}