首页 > 其他分享 >C语言易错小结

C语言易错小结

时间:2024-04-23 20:56:46浏览次数:21  
标签:10 易错 指向 int C语言 整型 数组 小结 指针

C语言-易错题小结

1.用变量a给出下面的定义:

a.一个整型数; int a

b.一个指向整型数的指针; int *a

c.一个指向指针的指针,它指向的指针是指向一个整型数; int **a

d.一个有10个整型数的数组; int a[10]

e.一个有10个指针的数组,该指针是指向一个整型数的; int *a[10]

f.一个指向有10个整型数数组的指针; int (*a)[10]

g.一个指向函数的指针,该函数有一个整型参数并且返回一个整型数;

​ int (*a)(int)

h.一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并且返回一整型数。 int (*a[10])(int);

2.设置 置位;清除,复位;

a | =(1<<?); 置位 a&=~(1<<?)

3.优先级

( )> [ ] > *

4.段错误的原因(慢慢更新中)

常见原因:

  1. 空指针引用:当程序试图通过空指针访问内存时,会导致段错误。这通常发生在没有正确初始化指针或者指针指向的对象已经被释放的情况下。
  2. 数组越界:当程序试图访问数组中超出有效索引范围的元素时,会导致段错误。这可能是由于循环索引错误、数组下标计算错误或者数组长度计算错误等原因引起的。
  3. 栈溢出:当程序使用递归调用或者大量局部变量导致栈空间不足时,会导致段错误。这通常发生在没有正确终止递归调用或者使用了过多的局部变量的情况下。
  4. 动态内存错误:当程序使用动态内存分配函数(如malloc、free等)时,如果没有正确管理内存,可能会导致段错误。比如使用已经释放的内存、重复释放内存或者访问已经释放的内存等情况。

标签:10,易错,指向,int,C语言,整型,数组,小结,指针
From: https://www.cnblogs.com/luo-tt/p/18153719

相关文章

  • 实验3 C语言函数应用编程
    task1.c1#include<stdio.h>2#include<stdlib.h>3#include<time.h>4#include<windows.h>5#defineN8067voidprint_text(intline,intcol,chartext[]);//函数声明8voidprint_spaces(intn);//函数声明9voidpri......
  • C语言 - 字符串拼接
    在C语言中,可以使用以下几种方法来实现字符串拼接:1.使用strcat函数:#include<stdio.h>#include<string.h>intmain(){charstr1[50]="Hello";charstr2[]="World";strcat(str1,str2);printf("拼接后的字符串是:%s\n",str1......
  • 手写协议报文 c语言手法
    鉴于绝大部分文件、网络通信协议、非网络通信协议都有类似的结构{类型,长度,校验,不定长数据,结束标志},再高级点的会包含多个单层TLV,甚至嵌套TLV,状态机流转标志等等。所以编程语言上也需要采用一定的手法。建立结构结构体和联合体例如//结构体对齐宏#ifdefined(__GNUC__)#defin......
  • C语言 - 截取指定长度的字符
    在C语言中,没有内置的函数可以直接截取字符串。但是,你可以通过创建一个函数来实现这个功能。以下是一个简单的示例,展示了如何截取一个指定长度的字符串:#include<stdio.h>#include<string.h>voidsubstr(char*dest,constchar*src,intstart,intlen){inti,end;......
  • C语言单向链表的增删操作
    //指的是单向链表中的结点有效数据类型,用户可以根据需要进行修改typedefintDataType_t;//构造链表的结点,链表中所有结点的数据类型应该是相同的typedefstructLinkedList{  DataType_tdata;    //结点的数据域  structLinkedList*next;......
  • 实验3_C语言函数应用编程
    Task11#include<stdio.h>2#include<stdlib.h>3#include<time.h>4#include<windows.h>5#defineN8067voidprint_text(intline,intcol,chartext[]);8voidprint_spaces(intn);9voidprint_blank_lines(intn)......
  • C语言学习笔记
    ​学习C语言是掌握计算机科学的基础,并为学习其他高级编程语言打下坚实的基础。C语言是一种高效率的编程语言,被广泛用于系统软件和应用软件的开发。1、C语言基础变量和数据类型:理解基本数据类型(int,char,float,double等)以及更复杂的类型,如数组和结构体。运算符:熟悉C语言支持......
  • 34.c语言数组练习题(牛客网)
    先打个广告哈哈哈牛客网练编程题不错不错哦冒泡排序必须必须必须会#include<stdio.h>voidsort(intarr[],intn){//外层循环for(inti=0;i<n-1;++i){intflag=1;//假设flag=1就是已经排序好的//内层循环for(intj=0;......
  • C语言单向链表的创建和增删减查相关程序
    对单向链表进行删除和插入的程序设计/********************************************************************* filename: linkedlist.c* author :[email protected]* date :2024/04/22* function:实现单向链表的创建、拆入、删除功能* note :None**......
  • rhce练习题容易错的地方
    rhce练习题里容易错的地方使用导航器的时候,ssh连接因为导航器是一个工具,生成一个容器,在容器里面运行playbook安装软件包的时候,多个软件包使用循环looploop的格式-hosts:NODE1tasks:-name:installphpansible.builtin.yum:name:"{{ite......