您的位置:首页 > 其它

苏嵌学习日志7.11

2018-07-11 21:09 148 查看

姓名:李璐   日期:7.11

今日学习任务指针与变量、数组、字符串
今日任务完成情况今日任务基本按计划完成,有点跟不上
今日开发中出现的问题汇总

指针相关内容理解有点困难

用指针编写程序有些困难

今日未解决问题用C语言实现strcpy函数
今日开发收获

指针

  1. 运算符:&是取地址运算符,*是指针运算符

  2. 实质:单元的地址就是指针内容(内存都是连续的)

  3. 定义:char *p=&a两层含义:1定义的时候表示变量是一个指针              2使用的时候表示取值*p=’a’

  4. 用C语言实现函数strcpy的功能while(*str2!='\0') *str1=*str2; str1++; str2++; }//取值,赋值,指针向后移动

  5. 野指针:指向不能使用的内存空间     malloc:申请(合法的)内存,返回值void*

  1. char string[]=”hellowold”;//栈空间,可读可写   char *str=”helloworld”;//只读不可写

  1. 字符串与字符数组的区别1字符串指针变量本身是一个变量,用于存放字符串的首地址;而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以‘\0’作为串的结束字符数组是由于若干个数组元素组成的,用来存放整个字符串2对字符串指针方式 char *ps="C Language"; 可以写为:  char *ps; ps="C Language";    而对数组方式: char st[]={"C Language"}; 不能写为: char st[20] ; st={"C Language"}; 而只能对字符数组的各元素逐个赋值。 

其他
课后作业

编写一个C函数,将“I am from sahnghai”倒置为“sahnghai 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;
}
 阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: