zoukankan      html  css  js  c++  java
  • c 结构体中存在指针,指针的不同赋值方法

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    struct parameter{
    char *fd;
    int hit;
    };
    int main()

    {
    struct parameter*pptr = (struct parameter*)malloc(sizeof(struct parameter));
    memset(pptr, 0, sizeof(struct parameter));
    //pptr->fd = (char*)malloc(sizeof(char) * 10); //新建的指针fd存在于栈中,指向分配在堆中的内存。
    //memset(pptr->fd, 0, 10 * sizeof(char));

    pptr->fd = "agcdgg";//此时,fd在栈中, "agcdgg"也在栈中。因此不需要执行(char*)malloc(sizeof(char) * 10)为fd分配内存。
    // strcpy(pptr->fd,"agcdgg");//若fd通过pptr->fd = (char*)malloc(sizeof(char) * 10)分配内存,则需要通过此种方式给fd指向的内存赋值。
    pptr->hit = 1;
    printf("%s", pptr->fd);
    printf("%d", pptr->hit);
    //free(pptr->fd);//若fd的赋值是通过pptr->fd = "agcdgg"完成,则不需要执行此行代码,
    free(pptr);
    return 0;
    }

  • 相关阅读:
    Add Two Numbers
    Same Tree
    Single Number
    题目1190:大整数排序
    题目1182:统计单词
    题目1181:遍历链表
    题目1180:对称矩阵
    题目1179:阶乘
    题目1206:字符串连接
    HTML事件
  • 原文地址:https://www.cnblogs.com/dfyz/p/7003986.html
Copyright © 2011-2022 走看看