PX-16-变量的定义和初始化

1.变量的定义

标识符:标识作用!
定义:程序中用于标识 -常量、-变量、-函数的字符序列
组成:
只能由字母、数字、下划线组成,第一个字母必须是字母或下划线
大小写有区别  int C 和 int c 是不同的。 
不能使用C语言的关键字
规则:
见名知意
不宜混淆

void 不行因为是关键字; new 在c中可以在c++中不行;

请指出下列标识符的正误: count、!count、new、5abc、if、do、L_5、who、a123、_A、_123、c#、r-3、printf, sum      Sum     M.D.John    day    Date   3days   
student_name     #33      lotus_1_2_3
char    a>b   _above     $123

void 锄禾日当午()
{

}

void main3()
{
    const  int data;
    int a;
    int main;
    //int void;
    int new;

    int _ad;

    int C;
    int c;       //大小写不同

    //_  __  ____
    //int intnum;
    //char charnum;
    int a1;
    double a2;
    char a3;
    //遵循软件工程规范,一看就懂

    //int !a;

    int 从前有一个很饿恶心的面试官搞得我痛不欲生 = 5;    //VC支持中文

}
//gcc 只有字符串可以中文 函数名和变量名都不能是中文
//VC 支持中文  

 

2.一个版本编译器的兼容性问题

gcc没有开启c++11的支持 和vc一些老版本的编译器例如 vc2010 ...

在定义变量要在调用函数之前 否则会报错误 

在codeblocks 编辑器中 compiler 可以进行选择支持c++11

#include <stdio.h>
#include <stdlib.h>

int main()
{

    int a=10;//C语言,老版本的编译器,GCC如果没有开启C++11支持,VC2010之前的版本
    //变量必须在函数调用之前定义

    printf("Hello world!\n");

int c=10;
    return 0;
}

void go()
{
    int a,b,c;//C语言定义变量
    int a1;
    int b1;
    int c1;
    int a2=10;
    int a3=10,b3=20,c3=40;
}

 

 

3.变量定义的格式

 

 4.新老版本编译器之间的不同

 变量没有被初始化 新编译器会进行错误的提示,老版本则不会;

#include<stdio.h>

void main()
{
    int num;

    num += 1;

   // error C4700: 使用了未初始化的局部变量“num”
   // 新老编译器,新编译器提示错误,老版本不提示
   // 垃圾数据,如果存了一个指针 则有可能去更改系统的使用内存而造成系统崩溃

}

 

posted @ 2016-12-11 01:36  silvercell  阅读(1713)  评论(0)    收藏  举报