c语言
c语言
jay编程
这个作者很懒,什么都没留下…
展开
-
c语言中的野指针,在fun函数里面可以输出,main中输出乱码
标题:c语言中的野指针,在fun函数里面可以输出,main中输出乱码若直接在fun里面输出数组a,可以得到结果,但是,若按照如下图所示,则每回输出的值都不一样,还有乱码,原因:在fun里面创建了一个数组a,是局部变量,fun函数返回后,里面的空间就销毁了,所以,main函数得到的int * 只不过是一个没有初始化的指针变量int * fun(){ int a[] = {1,2,3,4,5}; return a;}void print_fun(int a[]){ for(int i = 0原创 2022-03-08 10:39:29 · 851 阅读 · 0 评论 -
java,c,实现对二维数组进行排序
标题:java,c,实现对二维数组进行排序下面两个都是降序排序,若要改成升序,只需要将a[1] - b[1]变成吧b[1]-a[1]即可Java版本:c版本:java代码:public int maximumUnits(int[][] boxTypes) { Integer[][] nums = new Integer[boxTypes.length][2]; for(int i = 0;i < boxTypes.length;i++){ nums[原创 2022-03-06 11:26:56 · 767 阅读 · 0 评论 -
c语言中指针数组的赋值,
标题:c语言中指针数组#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char * arr[3]; for(int i = 0;i < 3;i++){ arr[i] = (char *)malloc(sizeof(char *) * 10); } for(int i = 0;i < 3;i++){ scanf("%s",arr[i]); } for原创 2022-03-06 11:19:35 · 3307 阅读 · 0 评论 -
c语言中指针数组的赋值,
标题:c语言中指针数组#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char * arr[3]; for(int i = 0;i < 3;i++){ arr[i] = (char *)malloc(sizeof(char *) * 10); } for(int i = 0;i < 3;i++){ scanf("%s",arr[i]); } for原创 2022-03-05 15:25:03 · 521 阅读 · 0 评论 -
使用c语言,实现数据的输入到文件,文件输出到数组中,同时对其进行排序
标题:使用c语言,实现数据的输入到文件,文件输出到数组中,同时对其进行排序1,涉及到了fflush,刷新2,对结构体中的某个变量进行排序3.fprintf,fscanf,Java版本:添加链接描述参考视频:添加链接描述#include<stdio.h>#include<string.h>#include<errno.h>#include<stdlib.h>#define n 2 typedef struct Student{ char原创 2022-03-03 15:17:38 · 601 阅读 · 0 评论 -
c语言使用scanf读取多个输入,并保存到数组中
标题:c语言使用scanf读取多个输入,并保存到数组中int main(){ int arr[71]; int i = 0; scanf("%d",&arr[i]); while(arr[i] > 0 && arr[i] < 71){ i++; scanf("%d",&arr[i]); } return 0; }...原创 2022-02-28 16:30:49 · 6383 阅读 · 2 评论 -
runtime error: load of null pointer of type ‘int‘ [__Serializer__.c]
标题:runtime error: load of null pointer of type ‘int’ [Serializer.c]因为我本来写的是int arr[numsSize];【返回一个int *】换成下面的动态内存就可以了,原创 2022-02-27 15:46:54 · 1426 阅读 · 0 评论 -
堆缓冲区溢出,地址为pc Ox561f98ca59cb bp Ox7f7:在0x60200000003c线程T0读取大小为1的缓冲区。
标题:堆缓冲区溢出,地址为pc Ox561f98ca59cb bp Ox7f7:在0x60200000003c线程T0读取大小为1的缓冲区。可能是:char * sb = (char *)malloc(sizeof(char) * strlen(s)); XXX操作后,最后面,需要 sb[k] = '\0';原创 2022-02-25 18:44:10 · 196 阅读 · 0 评论 -
c语言返回一个二维数组
标题:c语言返回一个二维数组参考blog:c语言返回一个二维数组#include<stdio.h>#include<stdlib.h>int ** getInfo(){ int ** b; //定义一个二维数组 b = (int **)malloc(3 * sizeof(int *)); for(int i = 0; i < 3; i++){ b[i] = (int *)malloc(4 * sizeof(int)); } int t = 0;转载 2020-10-24 23:16:55 · 3934 阅读 · 2 评论 -
c语言中的函数指针与数据指针
标题:c语言中的函数指针与数据指针#include<stdio.h>#include<string.h>#include<ctype.h>#include<math.h>/*测试函数指针 类似Java的多态,使用一个Object,传入其子类对象,实现其子类的相应的方法 数据指针 */void ToUpper(char * s);void ToLower(char * s); void show(void (* pf)(char *),原创 2020-10-24 18:08:49 · 270 阅读 · 0 评论 -
char s[]与 *s的区别
标题:char s[]与 *s的区别#include<stdio.h>#include<string.h>#include<ctype.h>#include<math.h>#include<stdlib.h>int main(void){ //1.可以更改 //char s[] = "abcdDKFJADFJDF"; //2.编译器为字符串在静态存储区中预留一定的空间,一旦开始执行程序,他会为指针变量s流出一个存储位置,原创 2020-10-24 18:08:04 · 382 阅读 · 0 评论 -
c语言实现的链队列
#include<stdio.h>#include<stdlib.h>struct linkqueue{ struct qnode *head; struct qnode *tail;};struct qnode{ struct qnode *next; int data;};struct linkqueue *i...原创 2020-04-11 17:54:05 · 257 阅读 · 0 评论