C语言 结构体中使用strcpy方法,以及结构体指针
2017-03-22 16:49
323 查看
今天项目中需要使用结构体,为char *型赋值肯定要使用strcpy。
但是关键是是试了几次都是错的,因此百度了一下。发现网上很多很多都是错误的,都会报段错误。
因此请教大神才解决。
关键就是,在使用strcpy之前,一定要对char* 型属性进行申请内存!
下面直接看例子:
#include<stdio.h>
#include<string.h>
#include<malloc.h>
struct stu{
int age;
char* name;
};
void pr(struct stu *pstu)
{
printf("%s",pstu->name);
}
int main()
{
struct stu student;
struct stu *pstudent=&student;
student.age=20;
student.name=(char *)malloc(10);
strcpy(student.name,"xiaoming");
pr(pstudent);
return 0;
}
以上代码无警告无报错更没有段错误,完美执行!
完!!
但是关键是是试了几次都是错的,因此百度了一下。发现网上很多很多都是错误的,都会报段错误。
因此请教大神才解决。
关键就是,在使用strcpy之前,一定要对char* 型属性进行申请内存!
下面直接看例子:
#include<stdio.h>
#include<string.h>
#include<malloc.h>
struct stu{
int age;
char* name;
};
void pr(struct stu *pstu)
{
printf("%s",pstu->name);
}
int main()
{
struct stu student;
struct stu *pstudent=&student;
student.age=20;
student.name=(char *)malloc(10);
strcpy(student.name,"xiaoming");
pr(pstudent);
return 0;
}
以上代码无警告无报错更没有段错误,完美执行!
完!!
相关文章推荐
- C语言结构体常见使用以及使用方法
- 详解Swift中对C语言接口缓存的使用以及数组与字符串转为指针类型的方法
- Swift中对C语言接口缓存的使用以及数组、字符串转为指针类型的方法
- C语言中结构体以及在结构体中调用方法;联合体和联合体的使用
- C语言实现类中方法 用函数指针在结构体中加入函数
- C语言字符串以及相关指针的使用
- 一.数组和指针的差别二.函数的好处以及使用函数的注意项。三.用c语言如何实现面向对象?c语言哪些点体现了面向对象。
- c语言使用指针实现模拟java/c# string.concat字符串串联方法
- keil 中——C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法
- 详解keil采用C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法!
- C语言中函数指针的三种使用方法总结
- android studio使用ButterKnife 8.0.1报空指针错误以及点击事件无效的解决方法
- C语言-指针、数组、结构体、分支、循环混合使用
- 详解keil采用C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法!
- C语言中const与指针使用方法总结
- 1.如何避免野指针2.获取字符串的两种方法。以及malloc,calloc,ralloc的使用注意点3.二维三维数组4.数组和函数的区别
- C语言中strtok使用方法与原理,以及自实现函数功能
- 使用c语言指针和递归方法实现二分查找
- 《IOS_C语言》高级指针(结构体指针、结构体数组指针、结构体数组指针,作为函数的参数使用、预编译指令)
- 《IOS_作业C语言》高级指针(结构体指针、结构体数组指针、结构体数组指针,作为函数的参数使用、预编译指令)