首页 > 其他分享 >24.08.15

24.08.15

时间:2024-08-15 17:26:48浏览次数:13  
标签:typedef 15 24.08 int void 数据类型 malloc char

day13

1.C语言本质

     操作内存

在这里插入图片描述

命令行参数
int main(int argc, char *argv[])
    
    
argc: 参数的个数
argv: 参数存放的指针数组    
    
    
int main(int argc, char *argv[])
{ 
    int i;
    for(i = 0; i < argc; i++)
    {   
        printf("%s\n", argv[i]);
    }   

    return 0;
}  

2.堆区空间的操作

2.1 malloc
#include <stdlib.h>
void *malloc(size_t size);


功能:开辟堆区空间
    
参数:
    size_t size:开辟空间的大小,单位字节    
      
返回值:
    void *:   成功:返回开辟空间的首地址
               失败:NULL
    
    
    
注意:
    1.malloc 开辟空间是连续的
2.2 free
#include <stdlib.h>
void free(void *ptr);

功能:释放空间
    
参数:    
    void *ptr: 释放空间的首地址    
    
    
注意:
    free 不能多次

练习

  //开辟空间
  char *p = (char *)malloc( sizeof(char) * 32);
  if( p == NULL)
  {
      //提示错误
      
      //做错误处理
  }


  //使用空间
  char *q = p;	
  //error:p = "123456";	     //内存泄露
  strcpy(p, "123456");
  
 
  //回收空间
  free(p);
  p = NULL;
2.申请堆区空间,存放一个字符串,打印出来
    char *p = (char *)malloc(sizeof(char) * 32);
    if(NULL == p)
    {   
        printf("malloc error\n");
        return -1; 
    }   

    printf(">:");
    gets(p);
    printf("str:%s\n", p); 


    free(p);
    p = NULL;

3.结构体

定义一个结构体类型的一般形式为:
struct  结构体名
{
    数据类型   成员名1;
    数据类型   成员名2;
    ....
    数据类型   成员名n;
};


结构体变量:
    存储类型  数据类型  变量名;

    
访问结构体成员:
      变量名    .
      指针      ->
    
    
eg:
    struct student{
        char name[32];
        int age;
        char sex;
    };

    struct student  stu1;
    struct student  *pstu;   
3.1结构体变量的定义

4.typedef

		关键字。作用:给数据类型取别名。
            
             
typedef int myint;
typedef int* P_int; 
typedef int a[5]; 
typedef int (*p)[5];
typedef int (*P_func)(int, double);
            


宏定义:
    #define  宏名   替换内容 


#define  P_int  int*    
      
         P_int p1, p2;     //int *p1, p2;
  
         p1:是指针
         p2:是整型变量    
  
    
typedef  int *  P_int;    
    
         P_int p1, p2;    

标签:typedef,15,24.08,int,void,数据类型,malloc,char
From: https://blog.csdn.net/RIOWLee/article/details/141227560

相关文章

  • 2024-08-15 财富负面信念的破开迷思
    2024-08-15  上了自由蓝图课,从里面拷贝出来的。盘点一下自己的负面信念,              我自己可以觉知到的总共命中了18条,分别是1,2,3,4,6:7,8,9,10,13,15,18,22,26,27,28,29,30。其他的可能也有,但是没有觉知到。破除信念的一个简单方法就是问一......
  • 根据银灿IS903的CD-ROM盘符打开光盘文件索引数据库Index-Your-Files-2024年8月15日
    根据银灿IS903的CD-ROM盘符打开光盘文件索引数据库Index-Your-Files-2024年8月15日   =====段落分隔符=====Config-7z-SFX-Builder-v2.5.0.5;!@Install@!UTF-8!InstallPath="C:\\APP"OverwriteMode="1+8"RunProgram="nowait:C:\\APP\\IYF\\Delphi7\\Proj......
  • P2679 [NOIP2015 提高组] 子串
    https://www.luogu.com.cn/problem/P2679只能说是,超级好的一道例题[NOIP2015提高组]子串题目背景NOIP2015Day2T2题目描述有两个仅包含小写英文字母的字符串\(A\)和\(B\)。现在要从字符串\(A\)中取出\(k\)个互不重叠的非空子串,然后把这\(k\)个子串按照其在字符......
  • 【TES807】基于 XCKU115 FPGA 的双 FMC 接口万兆光纤传输信号处理平台
     板卡概述TES807是一款基于千兆或者万兆以太网传输的双FMC接口信号处理平台。该平台采用XILINX的KintexUltraSacle系列FPGA:XCKU115-2FLVF1924I作为主处理器,FPGA外挂两组72位DDR4SDRAM,用来实现超大容量数据缓存,DDR4的最高数据缓存带宽可以达到2400MHz,DDR4的缓......
  • 2024-08-15
    1.硬件通讯问题先模拟,串口网口都可以模拟。ModbusPoll、Slave工具,虚拟串口工具。2.避免重复造轮子,实现一个功能先找现成类库与文档。不要按字节又实现一遍底层。3.Modbus通讯类库:NModbus,西门子PLC通讯类库:s7netplus,OPCUA协议,MQTT协议等。4.关于VS中反编译SDK如何避免看到具体......
  • oracle练习2024.08.15
    --1.创建一个名为‘EMP_DETAILS_VIEW’的只读视图,包含各个员工的员工编号、员工名、职位编号、职位名称、部门编号、国家信息和区域信息:createviewemp_details_viewasselect   e.employee_idasemployee_id,  e.first_name||''||e.last_nameasemployee......
  • day44-dynamic programming-part11-8.15
    tasksfortoday:1.1143.最长公共子序列2.1035.不相交的线3.53.最大子序和4.392.判断子序列(编辑距离问题)------------------------------------------------------------------------------1.1143.最长公共子序列300:single,ascending,non-continuity674:s......
  • 520-基于ZU15EG 适配AWR2243的雷达验证底板 XCZU15EG架构高速信号处理板
    基于ZU15EG适配AWR2243的雷达验证底板一、板卡概述   本板卡系北京太速科技自主研发,基于MPSOC系列SOC XCZU15EG-FFVB1156架构,搭载两组64-bit DDR4,每组容量32Gb,最高可稳定运行在2400MT/s。另有1路10G SFP+光纤接口、1路40G QSFP光纤接口、1路USB3.0接口、1路千兆网络接口......
  • 禅道 未授权登录复现(QVD-2024-15263)
    侵权声明本文章中的所有内容(包括但不限于文字、图像和其他媒体)仅供教育和参考目的。如果在本文章中使用了任何受版权保护的材料,我们满怀敬意地承认该内容的版权归原作者所有。如果您是版权持有人,并且认为您的作品被侵犯,请通过以下方式与我们联系:[[email protected]]。我们将在确......
  • CF1530D Secret Santa 题解
    ProblemSolution每个人初始不会给自己送礼物。如果每人要送礼的人都不一样,答案即为\(n\)。如果有两个或以上的人要送给同一个人礼物,假设有\(x\)个人要给同一个人送礼物,那么必有\(x-1\)个人要更改送礼的人,并将礼物送个\(x-1\)个没有礼物收的人。然而这样送礼物可能会导......