近期c语言总结

 最近又在看《C语言程序设计》,发现以前对于一些细节性的东西没有特别注意。现在写一点关于最近看到的一些总结。
 1.首先我要对于我自己写程序的一些方式进行改变。以前我写程序的时候,常会出现这样的问题,比如我要在主函数中用到几个for循环。
for(int i=0;i!=n;i++)
 {
     ...............
 }
for(int i=0;i!=n;i++)
{
     ...............
}
 这样就会产生重定义 i 的错误,所以我们在初始化 for 循环的初始化条件时要定义很多的变量,如i,j,k;这样会增加程序的复杂性。我们可以这样更改:
int i;
for( i=0; i!=n; i++)
{
     ..............
}
for( i=0; i!=n; i++)
{
     ..............
}


 以上这样的更改就降低了程序的复杂性。
 2.其次是今天看到的一个关于指针的问题,其实以前我对于指针很糊涂。一直弄不清楚。
#include <iostream>
using namespace std;
int swap ( int *p ,int *q );
int main()




{
    int a, b;
    cin >> a >> b ;
    int *i_pointer1, *i_pointer2;
    i_pointer1 = &a, i_pointer2 = &b;
    swap ( i_pointer1 , i_pointer2 );
    cout << *i_pointer1 << " " << *i_pointer2 <<endl ;
    return 0;
}
int swap ( int *p , int *q )
{
    int temp ;
    temp = *p     ;
    *p   = *q     ;
    *q   = temp   ;
}
    运行结果: 1 3
                         3 1

 在这里我们更改了指针所指对象的值,即a=3,b=1;

 如果swap函数这样写又会怎么样呢?

int swap ( int *p , int *q ) ;
{
    int  *temp ;
    temp = p ;
    p    = q ;
    q    = temp ;
    return 0;
}
 这里企图更改指针对象,通过交换形参指针对象来实现更改实参指针。不过这个函数不会起作用,因为在函数中不能通过形参指针对象来更改形参指针对象。

 3.其次一个重点就是关于静态变量,要声明一个静态变量只需在变量的定义语句前加 static 。静态变量会存在于程序的整个运行期间,与之相对的是自动变量。自动变量可以在变量的定义前面加上auto语句,但也可以省略。一般我们定义的就是自动变量。对于static变量,它会自动保存上一次的值,而auto变量则会重新分配。对于全局变量,如果为static类型,则它只能在本文件中使用,其它文件不可以使用。

 4.关于extern声明,如果在一个文件中定义了一个变量,另一个文件要使用,则只需在另一个文件中加一句 extern 声明。但对于上面讲的静态全局变量,则没有作用。其次,extern声明的时候可以去掉类型。如:

file1.c
     int A , B , C ;
file2.c
     extern int A , B , C ;
  或extern A , B , C ;
 以上就是我今天看的一些关于c语言的,希望对大家有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值