c++

 

c++的一些头文件:

 

#include<stdio.h>  c语言的标准输入流

#include <iostream.h> C++的标准输入流

 

 node * root=(node*)calloc(1,sizeof (node));

 

typedef struct node    //链式存储二叉树
{
    int num;
    node * lchild;
    node * rchild;
};

 

 

 

 预定义常量和类型

#define TRUE 1        //定义常量

typedef int Status     //定义类型

 

 

c++的变量

 

char a= 1;  //在java中是报错误的;在c++中是可以通过的;在标准输出流中输出的是乱码;实际上是Unicode字符;

char a= '1'; //就是一个字符;

int aaa=0;
  char a='1';
  char b = 1;
 
  printf("%d\n",a); //对应Unicode值为49
  printf("%d\n",b); //值为1
 printf("%c\n",a);  //输入字符为1
  aaa=aaa+a;

  printf("%d\n",aaa);  //为49
 
  aaa =aaa+b;
  printf("%d\n",aaa);  //为50

 

注:与java的区别,java实现实现上面的代码需要强制转换。

 

 

                                     指针

 

int a=1; int * p;
	p=&a;  //&a表示取地址
	*p=2;   //
	printf("%d\n",*p);  //2 a与p有相同的地址
        printf("%d\n",a);  //2

 

指针和数组的区别:

     

int i,a[]={3,4,5,6,7,3,7,4,4,6};
for (i=0;i<=9;i++)
{
printf ( “%d”,  *(a+i) );  //同a[i]
}

 

        c++的字符串,字符数组,字符指针的处理以及传递  

 

 Test 1

void init(LNode &L){   //产生初始化种群,其中L为链表的头结点
		Node * p; Node * r;
		p=L;
		for(int i=0;i<N;i++){
			r= (Node*)malloc(2*sizeof(Node));  
			string s=getGene();
			for(int j=0;j<SIZE;j++)
				r->gene[j]=s[j];	
			r->next=NULL;   //在末指针下添加
			r->number=i;     //给每个基因编号
			p->next = r;
			p=p->next;
		}
}

 Test 2

void init(){   //产生初始化种群
	Pt=(Node*)malloc(2*sizeof(Node));  
	Node * p=Pt;
	Node * r;
	for(int i=0;i<N;i++){
		r= (Node*)malloc(2*sizeof(Node));  
		string s=getGene();
		for(int j=0;j<SIZE;j++)
			r->gene[j]=s[j];	
		r->next=NULL;   //在末指针下添加
		r->number=i;     //给每个基因编号
		p->next = r;       //不带头结点初始化
		p=p->next;
	}
	
}

 备注:

     Node * p=Pt;   //这行命令到底表达什么内容呢?

是否p与节点Pt指向同一个内存空间呢?

赋值到底是值传递还是引用传递的?也就是说两个到底是不是一个内存块

 

结点分析:



 只改变结点的指向,并不改变结点的内容。

 

srand((unsigned) time(NULL)); //的作用

C++基础第二篇

 

http://435727748.iteye.com/blog/2326026

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值