![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言重新学习
dlp
这个作者很懒,什么都没留下…
展开
-
01 学习如鹏网的C语言免费课程
学习如鹏网的C语言免费课程本课为配置运行环境,就是使用EditPlus和Gcc配合搭建开发环境最为震撼的是设置EditPlus进行编译和运行的方式,之前没有接触到过,只有之前王保三老师教我们的java模式搭建,也还是命令行模式,以下是具体方法:EditPlus 工具 配置用户工具 添加工具 输入名称“编译”,命令 选择编译器 参数选择“文件名 -o 文件名不包含扩展名”初始目录 ...原创 2018-03-07 17:29:54 · 971 阅读 · 0 评论 -
06-8 结构体的拷贝赋值问题
1、每次使用结构体的时候都要struct _Person ,比如struct _Person p1={0};sizeof(struct _Person ); 太麻烦。2、typedef int zhengshu;可以给int取一个别名zhengshu。因此也可以用typedef struct _Person Person;把Person定义为struct _Person 的别名3、当然最常用的简化...转载 2018-03-12 15:31:33 · 367 阅读 · 0 评论 -
06-7 结构体的使用以及sizeof问题
1、结构体就是一大块内存,对他进行格式化的存储、读取。struct _Person{int age;char* name; double height;};struct _Person p1={0};p1.name = "全智贤";p1.age=30;printf("%s的年龄是%d\n",p1.name,p1.age);2、printf("%d\n",sizeof(Person))...转载 2018-03-12 14:58:00 · 176 阅读 · 0 评论 -
06-6 有关内存初始化
1、创建一个内存区域的时候,内存中的数据是乱七八糟的(可能是其他代码用过后遗留的数据):char ch1[20];printf("%s\n",ch1);这个代码打印出来的可能就是乱码,因为printf的%s是“打印一直遇到'\0'”。2、解决问题的两种方法:1) memset(void *,要填充的数据,要填充的字节个数)char ch1[20]; memset(ch1,0,sizeof(ch1)...转载 2018-03-12 11:36:39 · 152 阅读 · 0 评论 -
06-5 关于指针的几个例子
1、实现一个方法“多个返回值”的效果:返回数字的个位、十位、百位。基于本程序的一些基本的c语法: '%'为取余运算符,用于把它前面的整数值或表达式除以 其后面的整数值或表达式,结果为不能被后面的整数或表达 式整除的最小整数,它后面的数值应该为大于1的正整数。如 表中所示的"13%7",就表示13 除以7余6。 ‘/' 是2目运算符,除法运算,整数...原创 2018-03-12 10:38:55 · 247 阅读 · 0 评论 -
06-4 sizeof相关
1、如果在作用域内,变量以数组形式声明,则可以使用sizeof求数组大小:int num[]={5,89,33,25,99};int len = sizeof(num)/sizeof(int);2、sizeof是编译器在编译的时候计算的,无法动态计算。因此对于int *或者将数组传递给函数,那么就无法使用sizeof获取大小了。即使函数声明中写着int[]也不行(为了避免误解,不要在参数中声明数组...原创 2018-03-09 10:59:00 · 170 阅读 · 0 评论 -
06-3 强大的指针
指针的移动#include <stdio.h>int main(int argc, char *argv[]){ int i1=555; int i2=666; int *p = &i1; printf("%d,%d\n",&i1,&i2); p--; int i3=*p;//从p当前指向的内存中取出4个字节,解释成int printf("%...原创 2018-03-09 10:25:05 · 170 阅读 · 0 评论 -
06-2 有关计算机中数据类型
对于计算机而言,存储的都是“字节数据”,帮你存、帮你取,从哪儿读、读多少、怎么解读这些数据你随意。int i = 88888888; #include <stdio.h>int main(int argc, char *argv[]){ int i1 = 88888888; ...原创 2018-03-08 15:39:12 · 322 阅读 · 0 评论 -
06-1 C语言指针
不懂指针就不要说自己学过C语言!1、掌握了指针,就掌握了C语言的精髓!计算机中绝大部分数据都放到内存中的,不同的数据放到不同的内存区域中。内存角度没有数据类型,只有二进制;数据以字节(8位二进制)为单位存取。不同数据类型占据不同的字节,32位系统中:int 为4个字节,short为2个字节。2、int i = 5;printf("%d\n",&i);int j=5;printf("%d\n...原创 2018-03-08 14:00:23 · 136 阅读 · 0 评论 -
05 网格布局GtkGrid
void gtk_grid_attach(grid, child, int left,int top, int width, int height):将子控件child附加到grid中,表格行列动态增加。left、top子控件的横纵格编号(0开头是程序员的惯例。讲一个程序员教孩子数数的笑话、讲我平时告诉别人第几个时候的纠结),width、height为占用的列数、行数。用left、top定位,用w...原创 2018-03-08 11:53:20 · 1132 阅读 · 0 评论 -
04 盒子布局GtkBox
int gtk_box_new(int orientation, int spacing)创建一个盒子布局。orientation方向:GTK_ORIENTATION_HORIZONTAL(水平横向)、GTK_ORIENTATION_VERTICAL(垂直纵向)两个可选值;spacing:单元格之间的间隙,通常为0,单位像素。void gtk_box_pack_start(int box, int...原创 2018-03-08 11:30:47 · 1414 阅读 · 0 评论 -
03 关于控件及如何添加
widget 所有控件的父类一些基本的函数:void gtk_widget_show(widget):显示。int整数void gtk_widget_hide(widget):隐藏void gtk_widget_set_sensitive(widget, sensitive):禁用,设置一个控件是否使用。第一个参数是指针对那个控件操作,第二个是是否禁用。 ...原创 2018-03-08 10:31:06 · 157 阅读 · 0 评论 -
02 第一个GTK程序
学习有关如何编译gtk程序,需要重新进行编译设置,以联接gtk的一些库文件方法:同gcc,其中程序 依然是gcc.exe参数 $(FileName) -w -o $(FileNameNoExt).exe -IF:\gtk\include -IF:\gtk\include\gtk-3.0 -IF:\gtk\include\cairo -IF:\gtk\include\gdk -IF:\gt...原创 2018-03-08 09:36:43 · 258 阅读 · 0 评论 -
06-9 C语言中void类型指针的作用
1、void *表示一个“不知道类型”的指针,也就不知道从这个指针地址开始多少字节为一个数据。和用int表示指针异曲同工,只是更明确是“指针”。因此void*只能表示一个地址,不能用来&取值,也不能++--移动指针,因此不知道多少字节是一个数据单位2、void *就是一个不能动的“地址”,在进行&、移动指针之前必须转型为类型指针3、void *的用途:在只知道内存,但是不知道是什么...转载 2018-03-14 08:35:19 · 748 阅读 · 0 评论