c基础知识

前言:很久没看复习c了,现在c的程序有些都看不懂了

c基础知识

牛客图书馆-各种编程语言基础
C 语言实例/练习

  • 1、c/c++/java基本数据类型字节数的区别
  • java全部都是有符号,java中char是两个字节
  • 2、声明、定义、初始化三者区别:
  • 声明只是表示存在,如extern,定义开辟内存了空间,初始化则赋值了
  • 3、c的静态局部变量只被初始化一次
  • 4、c的局部变量必须初始化后才能使用,全局变量会默认初始化
  • 5、c的数组必须初始化,否则不可预知
  • 6、枚举类enum使用,实例化、类型转换时都带上enum标志
  • 7、函数指针,返回类型+(*p)+(形参类型)
  • 8、回调函数,就是存在函数指针作为形参
  • 9、c风格的字符串,string类型
  • 10、结构体struct使用,实例化、类型转换时都带上struct标志
  • 11、结构体指针以及结构体位域
  • 12、c共用体union
  • 13、typedef为类型取别名,注意typedef struct取别名后,以前实例变量位置是新的类型别名
  • 14、输入输出操作 scanf printf gets puts get put
  • 15、文件操作,File *fp,写入文件fprintf 或 fputs,读取文件fscanf 或 fgets
  • 16、预处理器
  • 17、强制类型转换
  • 18、错误处理
  • 19、可变参数
  • 20、内存管理 malloc realloc
  • 21、c命令行参数 int main(int argc, char *argv[]) argv[0] 项目名 后面的才是参数
/**
 * 1、c/c++/java基本数据类型字节数的区别
 * java全部都是有符号,java中char是两个字节
 * 
 * 2、声明、定义、初始化三者区别:
 * 声明只是表示存在,如extern,定义开辟内存了空间,初始化则赋值了
 * 
 * 3、c的静态局部变量只被初始化一次
 * 
 * 4、c的局部变量必须初始化后才能使用,全局变量会默认初始化
 * 5、c的数组必须初始化,否则不可预知
 * 
 * 6、枚举类enum使用,实例化、类型转换时都带上enum标志
 * 
 * 7、函数指针,返回类型+(*p)+(形参类型)
 * 8、回调函数,就是存在函数指针作为形参
 * 
 * 9、c风格的字符串
 * 
 * 10、结构体struct使用,实例化、类型转换时都带上struct标志
 * 11、结构体指针以及结构体位域
 * 12、c共用体union
 * 13、typedef为类型取别名,注意typedef struct取别名后,以前实例变量位置是新的类型别名
 * 
 * 14、输入输出操作 scanf printf gets puts get put
 * 15、文件操作,File *fp,写入文件fprintf 或 fputs,读取文件fscanf 或 fgets
 * 
 * 16、预处理器
 * 17、强制类型转换
 * 18、错误处理
 * 19、可变参数
 * 20、内存管理 malloc  realloc
 * 21、c命令行参数 int main(int argc, char *argv[]) argv[0] 项目名 后面的才是参数
 * 
 * 
 system("pause");
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
   char name[100];
   char *description;

   strcpy(name, "Zara Ali");

   /* 动态分配内存 */
   description = (char *)malloc( 30 * sizeof(char) );
   if( description == NULL )
   {
      fprintf(stderr, "Error - unable to allocate required memory\n");
   }
   else
   {
      strcpy( description, "Zara ali a DPS student.");
   }
   /* 假设您想要存储更大的描述信息 */
   description = (char *) realloc( description, 100 * sizeof(char) );
   if( description == NULL )
   {
      fprintf(stderr, "Error - unable to allocate required memory\n");
   }
   else
   {
      strcat( description, "She is in class 10th");
   }

   printf("Name = %s\n", name );
   printf("Description: %s\n", description );

   /* 使用 free() 函数释放内存 */
   free(description);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值