C unsigned int and int
Ê×ÏȽøÐÐÒ»¸öʵÑ飬·Ö±ð¶¨ÒåÒ»¸ösigned intÐÍÊý¾ÝºÍunsigned intÐÍÊý¾Ý£¬È»ºó½øÐдóС±È½Ï£º
unsigned int a=20;
signed int b=-130;
a>b?»¹ÊÇb>a£¿ÊµÑéÖ¤Ã÷b>a£¬Ò²¾ÍÊÇ˵£130>20,Ϊʲô»á³öÏÖÕâÑùµÄ½á¹ûÄØ£¿
ÕâÊÇÒòΪÔÚCÓïÑÔ²Ù×÷ÖУ¬Èç¹ûÓöµ½ÎÞ·ûºÅÊýÓëÓзûºÅÊýÖ®¼äµÄ²Ù×÷£¬±àÒëÆ÷»á×Ô¶¯×ª»¯ÎªÎÞ·ûºÅÊýÀ´½øÐд¦Àí£¬Òò´Ëa£½20£¬b£½4294967166£¬ÕâÑù±È½ÏÏÂÈ¥µ±È»b>aÁË¡£
ÔÙ¾ÙÒ»¸öÀý×Ó£º
unsigned int a=20;
signed int b=-130;
std::cout<½á¹ûÊä³öΪ4294967186£¬Í¬ÑùµÄµÀÀí£¬ÔÚÔËËã֮ǰ£¬a£½20£¬b±»×ª»¯Îª4294967166£¬ËùÒÔa£«b£½4294967186
¼õ·¨ºÍ³Ë·¨µÄÔËËã½á¹ûÀàËÆ¡£
Èç¹û×÷Ϊsigned intÐÍÊý¾ÝµÄb=-130£¬bÓëÁ¢¼´ÊýÖ®¼ä²Ù×÷ʱ²»Ó°ÏìbµÄÀàÐÍ£¬ÔËËã½á¹ûÈÔȻΪsigned intÐÍ£º
signed int b=-130;
std::cout<Êä³öΪ-100¡£
¶ø¶ÔÓÚ¸¡µãÊýÀ´Ëµ£¬¸¡µãÊý£¨float£¬double£©Êµ¼ÊÉ϶¼ÊÇÓзûºÅÊý£¬unsigned ºÍsignedǰ׺²»ÄܼÓÔÚfloatºÍdoubleÖ®ÉÏ£¬µ±È»¾Í²»´æÔÚÓзûºÅÊý¸ùÎÞ·ûºÅÊýÖ®¼äת»¯µÄÎÊÌâÁË¡£
include
include
define UNSIGNED_SHORT_LT(a , b) (((unsigned short) (((unsigned short) a) - ((unsigned short) b))) > (unsigned short) 0x7fff)
define UNSIGNED_COMP_LT(a , b) ((unsigned int) (((unsigned int) a) - ((unsigned int) b)))
typedef struct test_node {
int num;
struct test_node *next;
} test_node_t;
test_node_t *head;
test_node_t *tail;
void build_link(int num)
{
if (head == NULL) {
test_node_t *tmp = (test_node_t *)malloc(sizeof(test_node_t));
tmp->num = num;
tmp->next = NULL;
head = tail = tmp;
} else {
test_node_t *tmp_add = (test_node_t *)malloc(sizeof(test_node_t));
tmp_add->num = num;
tmp_add->next = NULL;
tail->next = tmp_add;
tail = tmp_add;
}
}
void print_link()
{
test_node_t *p = head;
for (p = head; p; p = p->next)
printf("the %d node address:%x, head:%x, tail:%x\n", p->num, p, head, tail);
}
void clear_link()
{
test_node_t *p = head;
while (p) {
test_node_t *tmp = p;
p = p->next;
printf("free %d node, tmp:%x, p:%x, head:%x, tail:%x\n", tmp->num, tmp, p
Ïà¹ØÎĵµ£º
pythonµÄC¡¢c++À©Õ¹
http://blog.chinaunix.net/u3/110228/showart_2148725.html
pythonµÄÇ¿´ó²»½ö±íÏÖÔÚÆä¹¦ÄÜÉÏ£¬¶øÇÒ»¹±íÏÖÔÚÆäÀ©Õ¹ÄÜÁ¦ÉÏ¡£
ʹÓÃC/C++ºÜÈÝÒ×±àдpythonµÄÄ£¿é£¬À©Õ¹pythonµÄ¹¦ÄÜ¡£
ͬʱ½«ÐÔÄÜÒªÇó±È½Ï¸ßµÄ´úÂëʹÓÃC/C++±àд£¬ÄܸüºÃµÄÃÖ²¹
½Å±¾ÓïÑÔÖ´ÐÐËÙ¶ÈÂýµÄȱÏÝ¡£
1. pythonµÄCÓïÑÔÀ©Õ¹
1.1 ......
extern "C"°üº¬Ë«Öغ¬Ò壬ÆäÒ»£º±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä¶þ£º±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£
1£©±»extern “C”ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵ģ»
externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö£¬¸Ã¹Ø¼ü×Ö¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔ ......
Ò»¸öÓÉC/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·ÖΪÒÔϼ¸¸ö²¿·Ö
1¡¢Õ»Çø£¨stack£©— ³ÌÐòÔËÐÐʱÓɱàÒëÆ÷×Ô¶¯·ÖÅ䣬´æ·Åº¯ÊýµÄ²ÎÊýÖµ£¬¾Ö²¿±äÁ¿µÄÖµµÈ¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£³ÌÐò½áÊøÊ±ÓɱàÒëÆ÷×Ô¶¯ÊÍ·Å¡£
2¡¢¶ÑÇø£¨heap£© — ÔÚÄڴ濪±ÙÁíÒ»¿é´æ´¢ÇøÓò¡£Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿É ......
ubuntuϵÄc/c++»·¾³´î½¨ÊDZȽϼòµ¥,ÒòΪÓÐaptºÍÐÂÁ¢µÃµÄ°ïÖú.
1.
Ê×ÏÈÊÇÅäÖÃgcc,ÔÚubuntu°²×°Íê³ÉÒѾÓÐgccÁË(gccÊÇÓÉGNUÖ®¸¸StallmanËù¿ª·¢µÄlinuxϵıàÒëÆ÷£¬È«³ÆÎªGNU
Compiler Collection£¬ Ŀǰ¿ÉÒÔ±àÒëµÄÓïÑÔ°üÀ¨£ºC, C++, Objective-C, Fortran, Java,
and
Ada.).µ«ÊÇgcc»¹²»ÄܱàÒëÎļþ.ÒòΪȱÉÙһЩͷÎļþ.Ä ......
from£ºhttp://wiki.ubuntu.org.cn/index.php?title=C_Cpp_IDE&variant=zh-cn
¼øÓÚ²»¶ÏÓÐÍøÓѽ«±àÒëÆ÷ GCC ÎóÈÏΪ IDE£¨¼¯³É¿ª·¢»·¾³£©
ÆÚÍûÍÑÀëÃüÁîÐÐ
ÆÚÍûÄÜÔڲ˵¥Öз¢ÏÖÆäÉíÓ°
ÆÚÍûÆäÄÜÓÐÒ»¸ö¼¯±à¼±àÒëÁ´½Óµ÷ÊÔÔËÐÐÓÚÒ»ÌåµÄ½çÃæ
¹Ê±¾Îĸø´ó¼Ò¼òµ¥ÂÞÁÐһЩ C/C++ ±à³ÌÖпÉÓÃµÄ IDE£¬»òÐíÄã´ÓÖпÉÒÔÕÒÒ»¸öÄãϲ»¶µ ......