C语言学习
学习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 · 388 阅读 · 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 · 3604 阅读 · 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 · 2459 阅读 · 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 · 231 阅读 · 2 评论 -
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 · 143 阅读 · 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 · 154 阅读 · 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 · 863 阅读 · 0 评论 -
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 · 5077 阅读 · 2 评论 -
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 · 8768 阅读 · 2 评论 -
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 · 156 阅读 · 0 评论 -
C语言 第 10节 堆栈问题
内存分配方式有三种: [1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 [2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 [3]从堆上分配,亦称动态内存分配。程...原创 2018-04-17 11:05:30 · 250 阅读 · 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 · 264 阅读 · 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 · 222 阅读 · 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 · 2683 阅读 · 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 · 2518 阅读 · 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 · 200 阅读 · 3 评论