Linux编程学习一

原创 2005年06月02日 10:43:00
从今天开始,打算学习linux编程。
一看,C语言都忘的差不多了,还是先复习一次C吧。
看看我今天都看了些什么:
for循环,for(表达式1;表达式2;表达式3),在执行for循环的时候,首先是表达式1赋值,
然后用表达式2对表达式1进行判定,如果正确就执行for循环里面的语句,不正确就退出循环。
执行完一遍后,然后执行表达式3,再用表达式2对表达式3进行判定....

还看了一下指针,指针是指向变量的地址变量。变量的指针就是变量的地址。
定义指针:int *pointer;
在定义了以后,*pointer=3;与i=3是等价的,但是类型必须相同;
指针指向变量:pointer=&i;
注意:指针变量中只能存放地址(指针);
&*pointer与&a相同;
*&a与a相同。
(*pointer)++相当于a++;
在用指针作为形参的时候,它会改变实参的值,在C语言中实参变量与形参变量之间的数据传递是单向的
“值传递”方式。

数组指针和指向数组的指针变量:
C语言规定数组名代表数组的首地址。
int a[9];
int *p=a;
p+i与a+i就是a[i]的地址,*(p+i)或*(a+i)是p+i所指向的数组元素的值,即a[i];
p[i]与*(p+i)等价;
*p++ 等价于 先*p,然后p++;
*(++p) 等价于 先p++,后*p;
(*p)p++指p指向的元素加1
f(int arr[], int n) 与 f(int *arr, int n)等价。
数组做形参时,它会改变实参的值。

指向多维数组多指针和指针变量:
#define FORMAT "%d, %d/n"

int main()
{
        int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
        printf(FORMAT,a,*a);                     printf("数组a的首地址/n");
        printf(FORMAT,a[0],*(a+0));         printf("第一行的首地址/n");
        printf(FORMAT,&a[0],&a[0][0]);     printf("a[0][0]的地址/n");
        printf(FORMAT,a[1],a+1);                 printf("第二行的首地址/n");
        printf(FORMAT,&a[1][0],*(a+1)+0); printf("a[1][0]的地址/n");
        printf(FORMAT,a[2],*(a+2));             printf("第三行的首地址/n");
        printf(FORMAT,&a[2],a+2);                 printf("a[2][0]的地址/n");
        printf(FORMAT,a[1][0],*(*(a+1)+0)); printf("a[1][0]的值/n");
}

几点学习linux编程的建议

我个人用了3、4年linux,从当初的小菜鸟到现在的大菜鸟,积累了一些经验,现在分享给大家,尤其是初学者。 弄linux的环境大体有3种办法: 在windows上安装cygwin在window...
  • High_High
  • High_High
  • 2012年02月18日 08:58
  • 37557

读《Linux C编程一站式学习》II

读《LC编程一站式编程》II。此Note补《LC编程一站式学习》的“文件系统”、“信号”、“TCP/IP”及“Socket编程”章节。不含进程章节的“实现简单的Shell”及线程章节的”哲学家问题“题...
  • misskissC
  • misskissC
  • 2014年09月20日 17:30
  • 1772

学习linux下的c/c++编程

 学习linux下的c/c++编程 1,先有linux环境搭minGW和cygwin都有点麻烦,最最简单的办法还是装个真正的linux,用虚拟机也好,在网络上的另一台机器也好。这样不仅快,而且你有了真...
  • byxdaz
  • byxdaz
  • 2009年03月05日 14:16
  • 14526

从零开始学习音视频编程技术(31) Linux篇之hello world

原文地址:http://blog.yundiantech.com/?log=blog&id=30 Linux和window在使用上有一定的区别,百度上搜一下如何学习Linux都会有各种书籍推...
  • qq214517703
  • qq214517703
  • 2017年07月03日 15:39
  • 411

linuxc编程一站式学习(c基础)

sql属于第四代编程语言:更多的是描述做什么,而不是要怎么做 语法规则是由符号(Token)和结构(Structure)的规则所组成的 Token的概念相当于自然语言中的单词和标点 结构是指Toke...
  • u014451076
  • u014451076
  • 2016年05月15日 15:54
  • 261

Linux c++学习大概步骤(转)

Module01 - Linux系统基础 由于本系列课程基于Linux(或UNIX),熟悉Linux操作系统是必要的前提。 该模块的课程包含以下方面的内容:常用Unix/Linux命令 熟悉文件管...
  • writeeee
  • writeeee
  • 2016年03月14日 23:31
  • 3583

对于系统编程的学习是 选择windows还是linux?

对于系统编程的学习是 选择windows还是linux? linux系统编程之所以看起来很简单,是得益于Linux系统本身并不包括窗口管理系统(ex:GNOME/KDE),所以,那些介绍linux系统...
  • pcliuguangtao
  • pcliuguangtao
  • 2011年04月25日 23:48
  • 3793

浅谈如何学习linux(强烈推荐)

一.为什么要学linux?  当然最重要是爱好和兴趣!如果你这种必要学,或者根本不喜欢,请不要浪费时间,你学也学不好!  二.起步  你应该为自己创造一个学习linux的环境--在电脑上装一个l...
  • A09211008
  • A09211008
  • 2013年12月05日 22:30
  • 4676

学习Linux网络编程(转载,很不错的入门文章)

出处未知 这篇教程是用来介绍在Linux下编写网络程序的.-----------------------------------------------------------...
  • bat603
  • bat603
  • 2006年08月25日 09:06
  • 4819

不要因为英语和数学而害怕学习编程.

[作者] 网名: 猪头三 站点: http://www.x86asm.com Email: pliceman_110@163.com QQ: 643439947 编程生涯: 2001~至今[...
  • Code_GodFather
  • Code_GodFather
  • 2011年10月13日 00:06
  • 13566
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux编程学习一
举报原因:
原因补充:

(最多只允许输入30个字)