
C语言
meteor^_^
这个作者很懒,什么都没留下…
展开
-
strcpy、strncpy与memcpy的区别与使用方法
strcpy、strncpy、memcpy这三个C语言函数我们在主机代码编写中会很频繁的使用到,但是三个函数的区别、使用时该注意什么还是有必要说下的。本文参考《C 标准库》编写。一、函数说明1、memcpy函数void *memcpy(void *s1, const void *s2, size_t n);说明:函数memcpy从s2指向的对转载 2018-01-26 20:23:01 · 254 阅读 · 0 评论 -
二级指针和字符指针数组的区别
char *str[] = {"abc", "mike", "hello"};这是字符指针数组,每一个数组元素是一个指针变量,而每个指针变量指向字符串首字符地址,即是字符串的地址。因为每一个字符串都代表的是一个地址,是字符串首字符的地址。字符串常量是放在文字常量区,是不可以更改的。而指针数组str里面存放的是指向字符串地址,它是可变的。如str[0] 是可变的,它是指针变量,但是*str[0原创 2018-02-06 22:55:09 · 1512 阅读 · 1 评论 -
C语言中变量的作用域和生命周期
1.普通局部变量 在{ }内部定义的变量就是局部变量 只有执行到定义变量的这个语句,系统才会给这个变量分配存储空间 当离开{ }, 这个非static局部变量自动释放 局部变量的作用域在当前的{ },离开此{ },无法使用 不同的{ }中,变量名字可以一样,遵循就近原则 2.static局部变量 在{ }内部定义的变量就是局部原创 2018-02-06 22:53:39 · 657 阅读 · 0 评论 -
linux中cat命令的自定义实现
#include <stdio.h>int main(int agrc, char * argv[]) { FILE *fp = NULL; fp = fopen(argv[1], "r"); if(fp == NULL) { perror("fopen"); return -1; } char ch; while(1...原创 2018-02-12 11:20:38 · 529 阅读 · 0 评论 -
C语言中的共用体
共用体又叫联合体#include <stdio.h>#include <stdlib.h>union Test{ unsigned char a; unsigned short b; unsigned int c;};union Test1{ unsigned char a; unsigned short b; unsigned int ...原创 2018-02-12 11:17:20 · 530 阅读 · 0 评论 -
Windows和linux中文本文件的区别
在windows下以二进制方式要用fopen(" ", "wb")或者fopen(" ", "rb")b是二进制模式的意思,b只是在windows有效,在Linux用r和rb的结果是一样的Unix和Linux下所有的文本文本行都是\n结尾,而Windows下所有的文本文本行都是以\r\n结尾在windows平台下,以“文本”方式打开文件,不加b:当读取文件的时候,系统会将所有的"\r\...原创 2018-02-11 21:53:39 · 3147 阅读 · 0 评论 -
C语言中的字符串分割函数strtok的用法
#include #include #include int main(){ char *p; char buf[] = "abc,mike,yuantianxin,hello"; char tmp[100]; strcpy(tmp,buf);//分割会破坏原来的字符串,所以复制 //第一次调用 p原创 2018-02-05 21:30:26 · 307 阅读 · 0 评论 -
const修饰的指针
一.int a = 10;const int *p = &a;const修饰*,代表指针所指向的内存是只读,不能更改也就是说 *p = 100; 这种操作是非法的上述这种定义与 int const *p = &a; 是等价的。二.int * const p = &a;const修饰指针变量本身,代表指原创 2018-02-05 21:23:35 · 271 阅读 · 0 评论 -
在分文件编程中如何防止头文件重复包含
在分文件编程中如何防止同一个文件中头文件重复包含1. 在头文件.h文件的最开始加上#pragma once 即可2. 在头文件.h文件中实现:#ifndef MAINWINDOW_H#define MAINWINDOW_H//中间为函数声明#endif其中MAINWINDOW_H是根据你的头文件的名字来定义的,不可重复原创 2018-01-27 12:11:43 · 486 阅读 · 0 评论 -
C语言中的文件概述
FILE *fp 所有平台的名字都是FILE,FILE是一个结构体类型,里面的成员实现的功能一致,但是不同平台成员的名字不一样。typedef struct _IO_FILE FILE;声明FILE结构体类型的信息包含在stdio.h头文件中为了统一,便于移植,所有平台都用typedef定义成FILE例如typedef struct{ short level; //缓冲区“满”或者空的程度 ...原创 2018-02-10 16:47:47 · 299 阅读 · 0 评论 -
C语言内存分区
其实,实际内存分很多个区,更准确来说是分很多段,以下的分区是为了我们更好理解和学习C语言。linux中执行 size a.out命令可以查看内存布局在程序没有执行前,有几个内存分区已经确定,虽然分区确定,但是没有加载内存,程序只有运行时才加载内存:text(代码区):只读,代码data :初始化的数据,全局变量,static静态变量, 文字常量区(只读)bss原创 2018-02-06 22:57:17 · 899 阅读 · 0 评论