c 结构体中存在指针,指针的不同赋值方法
2017-06-13 22:59
218 查看
#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;
}
#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;
}
相关文章推荐
- c 结构体中存在指针,指针的不同赋值方法
- Linux内核中常见的结构体对象中的函数指针赋值操作
- Java调用Dll存在指针或变参的解决方法
- c中给字符数组,字符串指针赋值的方法总结
- (转)android ndk 给结构体赋值的方法
- 使用saveOrUpdate方法时,若hibernate的session存在了两个具有相同id的不同实体,则会报错
- 六种不同指针的使用方法
- 在eclipse中切换不同workspace的方法和打开已经存在的工程的方法
- 结构体指针和结构体对象的创建、置空、赋值以及与string的转换
- linux kernel 结构体赋值方法{转载}
- 避免野指针的方法及结构体小细节
- (2011.07.06)C++ 结构体中字符指针在main中使用new的赋值问题。
- 内存字节对齐---对结构体非常重要。不能用memcpy简单的移动指针进行赋值
- # include <errno.h >查看错误代码errno是调试程序的一个重要方法。当Linux C API函数发生异常时,一般会将errno变量赋值一个整数,不同的值表示不同的含义,可以通过查看
- 为结构体中函数指针赋值的两种方法
- C语言实现类中方法 用函数指针在结构体中加入函数
- 两种不同方法判断Excel表格中是否存在指定数值
- android ndk 给结构体赋值的方法
- C语言中不同类型的结构体的指针间可以强制转换
- 【c语言】用malloc函数给结构体赋值的使用方法,free清空