![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
斩妖者
这个作者很懒,什么都没留下…
展开
-
C语言 第 1 节 strncpy和snprintf用法总结
#include <stdio.h>#include <string.h>//struct dsi_display{ //const char *name = "hello";//};//struct panel_buffer{// char buf[10];//};int main(){ /* 我的第一个 C 程序 */ struct d...原创 2018-03-16 13:34:00 · 401 阅读 · 0 评论 -
C语言 第 11节 指针有TM 什么用 - 1
70后说80后太狂,80后说90后太傻,90后说自己是傻B;太狂的大多都成功了, 太傻的大多还是傻B;言归正传 这里依然用几个例子 来解释指针的作用#include <stdio.h>void exchange(int a, int b);int main(void){ int x = 10; int y = 5; printf("old x = %d and ol...原创 2018-04-17 14:56:32 · 271 阅读 · 0 评论 -
C语言 第 12节 从冒泡排序-看你适不适合做软件开发
#include <stdio.h>void exchange(int *p, int len);int main(){ int array[10] = {1, 3, 2, 5, 6, 7, 8, 9, 43, 12}; exchange(array, 10); int c; for(c = 0; c<10; c++){ printf("%d ",array...原创 2018-04-17 17:33:48 · 224 阅读 · 0 评论 -
C语言 第 13节 数组求和看 函数-数组-指针 的关系
方法1:#include <stdio.h>#define SIZE 10int sum(int *a, int n);int main(){ long i; int array[SIZE] = {1, 3, 32, 32, 21, 2, 5, 6, 7, 8}; i = sum (array, SIZE); printf("the sum of a[] = %ld...原创 2018-04-18 13:48:11 · 2692 阅读 · 0 评论 -
C语言 算法实例1 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
#include <stdio.h>//#include <stdint.h>int main(){ int i, j, k; for(i = 1; i < 5; i++){ for(j = 1; j < 5; j++){ for(k = 1; k < 5; k++){ if(i!=j && i!=k &...原创 2018-04-24 10:41:47 · 2522 阅读 · 0 评论 -
C语言 第 14节 字符串和字符串函数
#include <stdio.h>int main(void){ printf("%s\n %p\n %c\n", "i'm", "a", *"sb"); // %s打印字符串, %p打印地址, *"sb"指向地址中的值,因此打印出的是第一个字符内容 return 0;}输出:i'm 0x4006d4 s...原创 2018-04-26 11:09:47 · 215 阅读 · 3 评论 -
C语言 第 15节 const用法总结
const用法总结:1. const char/int/... 经常在变量初始化的时候看到 const int a; const char b; 这里用const表示定义的变量a 和 b 是常量不可变,后面在使用的过程中其值不能改变,只初始化一次; 2. xxx(int a, const char *c) 我们在函数的使用过程中传入的参数会用到const 这里const char *c...原创 2018-05-17 17:17:53 · 283 阅读 · 0 评论 -
C语言 第 17节 for、break、 continue
#include<stdio.h> void main() { int sum,i; sum=0; for(i=1;i<=100;i++) { sum=sum+i; if(i==2) { printf("执行continue\n"); continue; ...原创 2018-05-25 14:34:39 · 174 阅读 · 0 评论 -
C实现-数据结构 第1节 数组逆序的算法实现
#include <stdio.h>//#define ARRAY_NUM 6int main(){ const char ArrayNum = 6; int i; int a[ArrayNum] = {1, 2, 3, 4, 5, 6}; int b[ArrayNum] = {0}; Rever(a, ArrayNum, b); for(i...原创 2018-05-08 17:17:36 · 930 阅读 · 0 评论 -
C语言 第 16节 按位与、逻辑与、按位或、逻辑或 等
1.按位与运算符(&)参加运算的两个对象,按二进制位进行“与”运算 运算规则:0 & 0 = 0;0 & 1 = 0;1& 0 = 0;1 & 1 = 1;例如:3 & 50011 & 0101 = 0001因此 3 & 5 = 1 2.按位或运算符(|)参加运算的两个对象,按二进制位进行“或”运算 运算规则:0 | 0 = 0;0 ...原创 2018-05-24 18:09:55 · 5971 阅读 · 0 评论 -
C语言 第 9 节 递归函数的使用
#include <stdio.h>void down(int);int main(){ down(1); return 0;}void down(int n){ printf("LEVEL %d ,addr = 0x%x\n", n, &n); if(n<4) down(n+1); //每次循环的时候都会在栈上重新开辟一个空间执行;...原创 2018-04-11 17:26:55 · 162 阅读 · 0 评论 -
C语言 第 10节 堆栈问题
内存分配方式有三种: [1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 [2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 [3]从堆上分配,亦称动态内存分配。程...原创 2018-04-17 11:05:30 · 253 阅读 · 0 评论 -
unsigned a 是什么玩意
unsigned int类型,即无符号整型;整型的每一种都有无符号(unsigned)和有符号(signed)两种类型,在默认情况下声明的整型变量都是有符号的类型,如果需声明无符号类型的话就需要在类型前加上unsigned,只有unsigned时,表示unsigned int;现在的系统中,int一般都占4个字节,32位,表示的数组范围是-2147483648~2147483647,而无符号整型(...原创 2018-03-28 15:20:07 · 2602 阅读 · 0 评论 -
C语言 第 3 节 浮点型数据的输入和打印
#include "stdio.h"int main(void) // mian 只能返回int类型参数 所以这里用int 并且不接受其他参数{ float weight; float value; printf("pls enter you weight :"); scanf("%f\n",&weight); value = 3 * weight; printf("t...原创 2018-03-19 10:57:20 · 2472 阅读 · 2 评论 -
C语言 第 4 节 const 用法示例
#include <stdio.h>int main(){ const struct { int i ; } a; a.i = 500; //error const 定义结构体里面的值只能赋值一次 不能被改变 printf("%d\n", a.i); return 0;}输出:/tmp/073423928/main.c:9:6: err...原创 2018-03-20 09:59:10 · 249 阅读 · 2 评论 -
C语言 第 6 节 const char* 与 char* const
#include <stdio.h>int main(){ char* plane = "asd"; // plane为指针(因为有*号 看到*号就代表着plane是指针) char决定着指针所指地址处存放的数据类型 指向"asd"为常量字符串,所以不能修改 //plane[0] = 's'; error 因为plane指向的是常量 所以不能修改 printf("...原创 2018-03-30 09:50:21 · 872 阅读 · 0 评论 -
C语言 第 2 节 函数中的声明 以及 void 的意义
#include "stdio.h" #define NAME "GIGATHINK,INC." #define ADDRESS "101 Megabuck Plaza" #define PLACE "Megapolis, CA 94904" #define WIDTH 40 void starbar (void); // 函数原型的声明 int main(...原创 2018-03-16 17:56:28 · 3612 阅读 · 0 评论 -
C语言 第 5 节 sizeof() 与 strlen() 的区别
#include <stdio.h>#include<string.h>#define A "what a beautiful girl"int main(void){ char name[] = "zyz"; printf("sizeof(name) = %d\n sizeof(A) = %d\n", sizeof(name), sizeof(A)); p...原创 2018-03-20 21:26:43 · 147 阅读 · 0 评论 -
C语言 第 8 节 char* 传参 形参的使用
#include <stdio.h>struct notify { void *data; char *name;};int get_name(char *sname){ int ret; printf("3 sname addr = 0x%x\n", sname); //接受到传进来的参数后 将地址复制一份放到一个地方 *sname = "sxgd"; retu...原创 2018-04-08 18:25:02 · 8988 阅读 · 2 评论 -
C++ -指针详解
这是一位大神写的关于指针用法的文章 写的很好很全 通过这篇文章可以对指针概念有了更深层次的学习和了解:点击打开链接转载 2018-03-26 18:31:17 · 97 阅读 · 0 评论 -
C语言 第6节 指针的学习与总结
#include <stdio.h>int main(){ int name = 10; int *pName = &name; double apple = 100.0; double *pApple = &apple; //pApple = &apple; int river[] = {1,2,3,4}; // 注意这里数组定义和...原创 2018-03-27 09:27:51 · 161 阅读 · 2 评论 -
C语言 第 7 节 如何将字符串指针指向的内容赋值给数组
#include <stdio.h>int main(){ char name[20] = {0}; // 数组定义的时候需要初始化 const char* s = "asadds"; strncpy(name, s, strlen(s)); // 从s指针指向的内容中将长度为strlen(s)的字符串赋值到数组name中 printf("s = %s\n...原创 2018-04-02 17:08:38 · 5124 阅读 · 2 评论 -
冒泡排序及其复杂度分析
转载:https://www.cnblogs.com/jiqingwu/p/bubble_sort_analysis.html 问题:给定一个整数序列,按照从小到大的顺序(确切地说,是非递减的顺序)排列序列中的整数。输入:一个整数序列。输出:整数序列,其中的整数升序排列。因为谭浩强的C语言教材,大家最熟悉的可能就是冒泡排序。下面是冒泡排序的一个C语言实现,a是数组首地址...转载 2018-08-20 09:34:47 · 1030 阅读 · 0 评论