c语言学习
Running_pink
这个作者很懒,什么都没留下…
展开
-
c语言 实现 接口 demo
interface.h#ifndef INTERFICE_H#define INTERFICE_Htypedef struct{ int age; int (*eat)(int); void (*play)(char *);}com,*p_com;p_com getPointInit(){ return (p_com)malloc(sizeof(com));}int eat(int a){ return printf("eat %d\n",a);原创 2022-01-09 14:34:42 · 1109 阅读 · 0 评论 -
理解c语言fork()函数
#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<sys/types.h>#include<sys/wait.h>int main(void){ int i; pid_t pid; pid=fork();//从这里开始代码一分为2 2个进程 pid 返回值为2个 子进程返回值=0 父进程返回值=子进程号 printf("pid=%d\n",pid)原创 2021-07-09 15:00:57 · 243 阅读 · 0 评论 -
c语言 关于const 修饰符笔记
#if 0//const把变量限定为只读int const p //常量p 可以通过指针间接修改 int const *p //常量指针 可以修改变量的值 *p不能够修改 const int *p //常量指针 可以修改变量的值 *p不能够修改int *const p //指针常量 可以修改指针的指向 p不能被修改 const int *const p //指针指向和*p都不能被修改 ...原创 2021-05-05 13:47:56 · 67 阅读 · 0 评论 -
c语言 字符数组存放字符串&&指针存放字符串
#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char a[]="hello";//字符数组 strcpy(a,"world"); // a="world"; a是数组首地址 是一个常量 不能够被赋值 printf("%s\n",a); char *p="hello2";// strcpy(p,"world"); p存放的是字符串常量的地址 字符串常量不可原创 2021-05-05 12:56:10 · 2363 阅读 · 0 评论 -
c语言 指针的初步理解
#include<stdio.h>#include<stdlib.h>int main(){ int i=1; int *p=&i; int **q=&p;//p指针指向i的地址 p指针的地址用二级指针**q存放 printf("i=%d\n",i); printf("&i=%p\n",&i);//i的地址 printf("p=%p\n",p);//i的地址 printf("&p=%p\n",&p);原创 2021-05-04 22:43:50 · 102 阅读 · 0 评论 -
c语言 单词个数统计
#include<stdio.h>#include<stdlib.h>int main(){ char a[]="aead cv v d ";//tab键无法识别 int count=0,flag=0; for(int i=0;a[i]!='\0';i++) { if(a[i]==' ') flag=0; else if(flag==0) { count++; flag=1; }原创 2021-05-04 19:46:07 · 179 阅读 · 0 评论 -
c语言strlen strcpy strncpy strcat strncat strcmp
#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char a[]="hello111"; char b[]="hello2"; char *c; printf("%d\n",strlen(a));//求字符串长度 不带'\0' c=strcpy(a,b);//返回值为 char * 把b中的字符串覆盖到a中 printf("%s\n",c); c=strnc原创 2021-05-04 19:09:49 · 176 阅读 · 1 评论 -
c语言二元数组a[0] a[0][0]的区别
#include <stdio.h>#include <stdlib.h> int main(){ int a[2][3]={{1,2,3},{4,5,6}}; printf("%d\n",sizeof(a)/sizeof(a[0][0]));//sizeof(a[0][0])代表单个元素的大小 求得多少个元素 printf("%d\n",sizeof(a)/sizeof(a[0]));//sizeof(a[0])代表的行地址大小 求得多少行 }...原创 2021-05-04 10:08:45 · 819 阅读 · 0 评论 -
c语言 二维数组学习(行列翻转、求二元数组中最大项 并记录对应下标、各行各列分别求和)
#include<stdio.h>#include<stdlib.h>#define M 2 #define N 3void change(){ int a[M][N]={1,2,3,4,5,6};//M 代表行 N代表列 int b[N][M]; for ( int i=0;i<M;i++) { for(int j=0;j<N;j++) { printf("%d",a[i][j]); b[j][i]=a[i][j]; }原创 2021-05-04 09:58:32 · 547 阅读 · 0 评论 -
c语言 冒泡排序
#include<stdio.h>#include<stdlib.h>void Sort(){ int a[8]={7,4,0,9,2,1,4,3}; for(int i=0;i<sizeof(a)/sizeof(a[0])-1;i++) for(int j=0;j<sizeof(a)/sizeof(a[0])-i-1;j++) { int temp; if(a[j+1]<a[j]) { temp=a[原创 2021-05-04 09:54:47 · 78 阅读 · 0 评论 -
c语言 printf 输出格式控制 %#x 带0x 16进制的输出
#include<stdio.h>#include<stdlib.h>int main(void){#if 0printf("这里是注释");#endif int a; a=13; printf("a=%#x",a);//输出:0x0d exit (0);}原创 2021-05-04 09:48:36 · 4514 阅读 · 0 评论